Json读者问题

时间:2015-10-09 09:57:14

标签: jquery jqgrid

当我在浏览器上使用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, “名字”: “特湖”, “姓氏”: “特湖”, “电子邮件”:空}]

1 个答案:

答案 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和服务器之间的通信,并快速定位问题的原点。