我試圖使用jQuery這樣調用PageMethod
:PageMethods,jQuery和JSON
[WebMethod]
public stataic string WebMethod(PostData data)
{
//DO WORK
return "a";
}
PostData
類如下:
public class PostData
{
public string Guid{get;set;}
public string Action{get;set;}
public string Id{get;set;}
}
我打電話的方法從jQuery的是這樣的:
$.ajax({
type="POST",
url: 'url',
data: JSON.stringify(b),
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function (msg) {
var t = $(c).html();
$(c).html(t + "<br/>" + $.evalJSON(msg.d));
},
error: function (x, y) {
var t = $(c).html();
$(c).html(t + "<br/>" + $.evalJSON(x.responseText).Message);
}
});
其中b
是這樣的:{"PostData":{"Guid":"b61dce32-690b-4409-b51a-a6012462e54e","Action":"Testing","Id":"3"}}
我得到這個錯誤:
Invalid web service call, missing value for parameter: 'data'.
如果我不叫JSON.stringyfy
然後我得到這個錯誤:
Invalid JSON primitive: PostData.
我已經試過這也{"Guid":"b61dce32-690b-4409-b51a-a6012462e54e","Action":"Testing","Id":"3"}
但仍獲得任意
Invalid JSON primitive 'Guid'
or
Invalid web service call, missing value for parameter: 'data'.
取決於我是否撥打JSON.stringify
或不。
我也試過,
[WebMethod]
public static string WebMethod(string data)
,但沒有得到哪裏。
是的,我知道我在做一些愚蠢的事情,但沒有能夠釘住它。謝謝@ jerone。 – TheVillageIdiot 2011-02-10 08:22:07