Ошибка «Недопустимый вызов веб-службы, пропущено значение для параметра» при вызове метода веб-службы с использованием jQuery - PullRequest
0 голосов
/ 21 сентября 2010

Это код моего файла aspx:


var DTO = { "'productCategoryId'": "'10'" };
$.ajax({
 type: "GET",
 url: "/WebService/DsmWebServices.asmx/GetProductSubCategory",
 data: DTO,
 contentType: "application/json; charset=utf-8",
 dataType: "json",
 success: function (msg) {
  window.alert("success");
 },
 error: function (msg) {
 }
});

Это мой метод веб-службы:


[WebMethod,ScriptMethod(UseHttpGet=true)]
public bool GetProductSubCategory(int productCategoryId)
{
 //do some stuff
 return true;
}

Проблема в том, что функция jQuery завершается с ошибкой:


{"Message":"Invalid web service call, missing value for parameter:
\u0027productCategoryId\u0027.","StackTrace":"   at System.Web.Script.Services.WebServiceMethodData.CallMethod(Object target, IDictionary`2 parameters)\r\n   at
System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams(Object target, IDictionary`2 parameters)\r\n   at
System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext context, WebServiceMethodData methodData, IDictionary`2 rawParams)\r\n   at
System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType":"System.InvalidOperationException"}

При использовании Firebug запрашиваемый URL-адрес jQuery был


http://192.168.1.100:8888/WebService/DsmWebServices.asmx/GetProductSubCategory?%27productCategoryId%27=%2710%27

Ответы [ 2 ]

1 голос
/ 29 июня 2011

Среди других сообщений об ошибках я получил то же самое.Поскольку я все-таки использовал пост, я хотел бы указать читателю на мой другой ответ: Вызов Webservice с Jquery, вызывающий горе

1 голос
/ 21 сентября 2010

вы должны использовать «post» для типа в вашем вызове ajax.Кроме того, данные, передаваемые в ваш веб-сервис, должны быть строкой json.Не объект JSON.Взгляните на метод stringify для библиотеки json2:

http://www.json.org/js.html

...