我上传了jqGrid错误如下:
加载错误:错误:XML无效:{“d”:[{“id”:1,“name”:“Medical 1" , “城市”: “基辅”, “instituteTypeId”:0},{ “ID”:2, “名”:“医疗 2" , “城市”: “赫尔松”, “instituteTypeId”:0}]}
然而我使用JSON,oleg建议我开启新的威胁。
jquery代码是:
mtype: 'POST',
contentType: "application/json",
url: "dataServices/objects.asmx/InvokeData",
ajaxGridOptions: {
contentType: 'application/json; charset=utf-8'
},
postData: JSON.stringify({q: "med&1"}),
loadonce: true,
dataType: 'json',
jsonReader: {
root: function (obj) {
alert(obj.d);
return obj.d;
},
page: "",
total: "",
records: function (obj) {
return obj.d.length;
},
},
gridview: true,
loadError: function (xhr, status, error) {
alert('load error: ' + error);
},
没有dataType = xml或任何定义....
答案 0 :(得分:3)
您使用错误的dataType: 'json'
。 jqGrid有datatype
选项而没有dataType
。所以你应该使用dataType: 'json'
。将忽略未知选项dataType
,并将使用默认选项dataType: 'xml'
。
此外,我认为你应该只使用jsonReader: { root: "d" }
。
The demo应该接近你所需要的。所以你应该做类似
的事情$("#list").jqGrid({
mtype: 'POST',
url: "dataServices/objects.asmx/InvokeData",
datatype: "json",
ajaxGridOptions: {
contentType: "application/json; charset=utf-8"
},
postData: JSON.stringify({q: "med&1"}),
loadonce: true,
jsonReader: { root: "d" }
...
});