2012-12-12 31 views
0

我使用$ .ajax()调用一个WebMethod(),并且它看起来并不像VB正在正确处理数据。使用jQuery将数据传递给WebMethod()

这里是我的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,我得到“真”返回。它正确地传递数据:

POST data

注释掉RemoveUser(BYVAL参考译文字符串)函数不改变行为的。

+1

我一直在做一些谷歌上搜索.. .just想知道: 你确定它应该是“{'s':'test'}”吗?它看起来可能需要'{“s”:“test”}' – sacredfaith

+0

@sacredfaith:交换引号时没有变化;好主意,但。 –

回答

0

摆脱引号,数据元素可以是一个对象。目前,你传递什么...
试试这个:

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