Я пытаюсь вызвать PageMethod
, используя jQuery, как это:
[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'
или
Invalid web service call, missing value for parameter: 'data'.
в зависимости от того, звоню я JSON.stringify
или нет.
Я тоже пробовал,
[WebMethod]
public static string WebMethod(string data)
но не получил где.