複雑なオブジェクトを入力として jQuery を使用して ASP Web サービスを呼び出そうとしています。
これが私のjQuery fnです:
request: function (url, method, data) {
var json = JSON.stringify(data);
return $.ajax({
url: url,
type: method,
data: json,
error: ErrorHelpers.printErrorToConsole,
dataType: 'json',
contentType: 'application/json',
processData: false
});
}
渡されるjsonは次のようになります。
{
"search": {
"WarehouseId": "",
"AuctionId": "",
"Barcode": "",
"Name": "",
"CategoryId": "",
"Description": "",
"ManufacturerId": "",
"StatusId": "",
"StatusOperator": "",
"HasPhoto": "",
"DateReceived": "",
"SellerAdministrativeArea": "",
"SellerId": "",
"IsApproved": "",
"Keyword": "",
"SortBy": "",
"RowStart": "",
"RowLimit": "10"
}
}
私のWebメソッドの定義は次のとおりです。
[WebMethod(EnableSession = true)]
[ScriptMethod(UseHttpGet = true)]
public List<ClientInventory> GetInventory(string search)
{ //code
}
なぜエラーになるのか誰か知っていますか?これが私が得る応答です:
{"メッセージ":"無効な Web サービス呼び出し、パラメーターの値がありません: \u0027search\u0027."、"StackTrace":" System.Web.Script.Services.WebServiceMethodData.CallMethod (オブジェクト ターゲット、IDictionary
2 parameters)\r\n at System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams(Object target, IDictionary
2 パラメーター) で\r \n System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext コンテキスト、WebServiceMethodData methodData、IDictionary`2 rawParams) で\r\n System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext コンテキスト、WebServiceMethodData methodData) で" ,"ExceptionType":"System.InvalidOperationException"}