asmx webservice経由でjqgridのデータをプルアップするためにajaxコールを作成しようとしていますが、このエラーが発生しています。{"メッセージ": "無効なウェブサービス呼び出し、パラメータの値がありません: u0027PersonID u0027"
WebサービスコールとAjaxリクエストで入力パラメータを削除すると機能はうまく動作しますが、入力パラメータを取得すると問題は解決しません。続き
は、次のWebサービスメソッド
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public PersonsGrid Per(string PersonID)
{
....
return personsGrid;
}
あるAjax呼び出しです:
function getGridInfo() {
var personId = document.getElementById('txtPersonID').value;
$("#PersonsInfo").jqGrid({
url: '/Service/PersonsService.asmx/GetPersonsInfo',
data: "{'PersonID': '" + personId + "'}",
datatype: 'json',
mtype: 'POST',
async: false,
ajaxGridOptions: { contentType: 'application/json; charset=utf-8' },
serializeGridData: function (postData) {
return JSON.stringify(postData);
},
jsonReader: { repeatitems: false, root: "d.rows", page: "d.page", total: "d.total", records: "d.records" },
loadonce: false,
colNames: ['ID', 'FirstName', 'LastName', 'Email', 'Phone'],
colModel: [
{ name: 'FirstName', index: 'FirstName', width: 100 },
{ name: 'LastName', index: 'LastName', width: 100 },
{ name: 'Email', index: 'Email', width: 100 },
{ name: 'Phone', index: 'Phone', width: 100 }
],
rowNum: 10,
rowList: [10, 20, 30],
viewrecords: true,
gridview: true,
rownumbers: true,
caption: 'Persons info',
loadError: function (xhr, textStatus, errorThrown) {
var error_msg = xhr.responseText;
var msg = "Some error occured during processing:";
msg += '\n\n' + error_msg;
alert(msg);
}
});
この問題を克服する方法上の任意のアイデア。私はいくつかの他の投稿に続きましたが、それでも動作しませんでした。これは、ajaxリクエストのdataパラメータで何かをしなければなりません。
ことはあなたのMTYPEはGET」すべきではありません'ではなく' POST 'ですか? – swatsonpicken
それでも、私は同じエラーが出るでしょう、私はまた、Webメソッドでusehttpget = trueを追加しました。 –