使用jQuery将数据传递给WebMethod()

时间:2012-12-12 16:54:55

标签: jquery vb.net web-services webmethod

我使用$ .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”。它正确传递数据:

POST data

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

2 个答案:

答案 0 :(得分:1)

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

检查出来:.NET Overload WebMethods - Possible?

答案 1 :(得分:0)

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

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