当我在浏览器上使用localhost:8080/SpringServiceJsonSample/rest/service/user/
时,我返回json类型的所有数据,但是当我在jquery中使用这个url时,网格数据没有被加载,我也使用了调试器,但是没有错误。< / p>
jQuery("#grid").jqGrid({
// url: '/Home/SampleGridData/',
url: '/SpringServiceJsonSample/rest/service/user/',
datatype: 'json',
mtype: 'GET',
contentType: "application/json" ,
colNames: ['First Name', 'lastName'],
colModel: [
{ name: 'firstName', index: 'name', width: 60, align: 'center', editable: true, editrules: { edithidden: false} },
{ name: 'lastName', index: 'lastName', width: 200, align: 'center', sortable: true, editable: true, edittype: 'text', editrules: { required: true, email: true} },
],
pager: jQuery('#pager'),
rowNum: 10,
rowList: [5, 10, 20, 50],
sortorder: "asc",
viewrecords: true,
caption: 'JqGrid Sample',
jsonReader: {
repeatitems: true,
id: "0",
cell: "cell",
rows : "details",
page : "pageno"
}
});
});
我的json值返回如下:: - [{“id”:1,“firstName”:“Pradeep”,“lastName”:“Pradeep”,“email”:null},{“id”:2, “名字”: “特湖”, “姓氏”: “特湖”, “电子邮件”:空}]
答案 0 :(得分:1)
您必须将jsonReader
修改为以下内容
jsonReader: {
repeatitems: true,
id: "userid",
root: function (obj) { return obj; }
},
loadonce: true,
gridview: true,
autoencode: true,
height: "auto"
您应该从<{1}} 删除所有index
属性。
顺便说一句,jqGrid中不存在选项colModel
,但如果您的后端确实需要contentType: "application/json"
,则可以使用ajaxGridOptions:{ contentType: "application/json" }
。
我建议您将使用的jqGrid更新为当前版本的free jqGrid。另外,添加loadError
回调(请参阅the answer)并使用{/ 3}}或IE / Chrome的开发人员工具来跟踪jqGrid与服务器之间的HTTP流量。分析HTTP流量有助于理解jqGrid和服务器之间的通信,并快速定位问题的原点。