使用JSON返回数据填充jqGrid并获取Uncaught TypeError无法读取未定义的属性“0”

我正在尝试使用Jackson从我的Spring webapp返回一些JSON并解析它并将其加载到jqGrid中。

我通过JSONViewer扩展程序在Chrome中显示了数据。 它对我来说是正确的。

arraydata的本地测试取得了成功。

这是我的JSP / HTML / JS:

       $(document).ready(function () { jQuery("#list").jqGrid({ url:"formSubmit.html", datatype: "json", height: 700, width: 1100, colNames: ['ReqID', 'Family', 'ControlID', 'Name', 'Description', 'Category','Priority', 'Notes', 'Parent'], colModel: [ { name: 'reqID', index: 'reqID', width: 40 }, { name: 'family', index: 'family', width: 100 }, { name: 'controlID', index: 'controlID', width: 100 }, { name: 'reqName', index: 'reqName', width: 175 }, { name: 'requirement', index: 'requirement', width: 450,cellattr: function (rowId, tv, rawObject, cm, rdata) { return 'style="white-space: normal;"' } }, { name: 'category', index: 'category', width: 100 }, { name: 'priority', index: 'priority', width: 100 }, { name: 'requirementNotes', index: 'requirementNotes', width: 100 }, { name: 'parent', index: 'parent', width: 100 } ], rowNum: 10, rowList: [10, 20, 30], pager: '#pager', viewrecords: true, jsonReader : { repeatitems: false } }); jQuery("#list").jqGrid('navGrid', '#pager', { edit: false, add: false, del: false }); });  

这是使用Jackson从我的Spring容器返回的一些数据:

 { "total":"1", "page":"1", "records":"558", "rows":[{ "parent":"", "priority":"", "requirementNotes":"DummyData", "category":"DummyData", "family":"DummyData", "requirement":"DummyData", "reqID":"1", "controlID":"DummyData", "reqName":"DummyData"}] } 

我一直收到一个Uncaught TypeError无法读取未定义的属性’0’作为我在jquery.jqGrid.min.js:23中的响应而且我很难过。

如何从演示中看到,它使用您发布的JSON数据和您的代码,jqGrid应该可以正常工作。

我只能重复我之前评论中已经写过的内容:参数url:"formSubmit.html"在我看来非常怀疑。 如果你调用一些动态组件,你的URL应该没有像“/ myurl /”这样的扩展名,或者其他扩展名为“.html”。 我建议您分析关于IE或Chrome的Fiddler,Firebug或开发者工具的HTTP流量(查看“网络”选项卡)。 重要的不仅是HTTP正文,还有HTTP标题,如“Content-Type”。

尝试在jsonreader中设置root: "rows"