2012-12-12 100 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"},