【问题标题】:Passing data to WebMethod() using jQuery使用 jQuery 将数据传递给 WebMethod()
【发布时间】:2012-12-12 16:54:54
【问题描述】:

我正在使用 $.ajax() 调用 WebMethod(),但 VB 似乎没有正确处理数据。

这是我的 JS:

$.ajax({
    type: "POST",
    url: "Default.aspx/RemoveUser",
    data: "{'s':'test'}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (msg) {
        alert(msg.d);
    },
    error: function (jqXHR, textStatus, errorThrown) {
        alert(textStatus + "\n" + errorThrown);
    }
});

我在下面创建了两个 RemoveUser 函数:

<WebMethod()> _
Public Shared Function RemoveUser(ByVal s As String) As String
    Return s
End Function

<WebMethod()> _
Public Shared Function RemoveUser() As Boolean
    Return True
End Function

但是,当我执行上述 JS 时,我得到“true”返回。它正在正确传递数据:

注释掉 RemoveUser(ByVal s As String) 函数根本不会改变行为。

【问题讨论】:

  • 我一直在做一些谷歌搜索......只是想知道:你确定它应该是 "{'s':'test'}" 吗?看起来它可能需要是 '{"s":"test"}'
  • @sacredfaith:交换引号时没有变化;不过是个好主意。

标签: jquery vb.net web-services webmethod


【解决方案1】:

我认为你在这里使用了重载方法:

看看这个:.NET Overload WebMethods - Possible?

【讨论】:

    【解决方案2】:

    去掉引号,数据元素可以是一个对象。目前你什么都没通过......
    试试这个:

    data: {"s":"test"},
    

    【讨论】:

      猜你喜欢
      • 2012-02-04
      • 2010-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-13
      • 1970-01-01
      相关资源
      最近更新 更多