我一直在尝试在 JQGrid 中呈现 JSON 数据。我收到以下错误:
Error: b is undefined
Source File: http://localhost:1302/Scripts/jquery.jqGrid.min.js
Line: 23
当我使用未最小化的 JQGrid 源代码时,我看到它对 getAccessor 方法进行了多次调用,并且在最后一次调用时,该方法的第一个参数(obj)被传递了一个未定义的值:
Error: obj is undefined
Source File: http://localhost:1302/Scripts/jquery.jqGrid.src.js
Line: 151
这似乎是导致网格停止渲染的原因,但为什么呢?
呈现的网格显示列标题,但没有内容。网格中的“正在加载...”消息永远不会消失。
我的 JSON 数据如下所示:
{
"total":"1",
"page":"1",
"userdata":{
},
"records":"2",
"rows":[
{
"DateOfBirth":"11/04/2012 12:00:00 AM",
"DisambiguationNote":"Boring guy",
"FirstName":"Joe",
"LastName":"Bloggs",
"MiddleName":"Binkie",
"PersonId":"1"
},
{
"DateOfBirth":"01/01/2001 12:00:00 AM",
"DisambiguationNote":"someone else",
"FirstName":"Edna",
"LastName":"Edwards",
"MiddleName":"Edith",
"PersonId":"8"
}
]
}
我的网格代码如下所示:
$(function () {
$("#persongrid").jqGrid({
url: '/Person/List',
datatype: 'json',
mtype: 'GET',
jsonreader: {
root: "rows",
page: "page",
total: "total",
records: "records",
repeatitems: false,
id: "5" ,
cell: "" ,
userdata: "userdata"
},
colModel: [
{ name: 'DateOfBirth', index: 'DateOfBirth',sorttype:'date' },
{ name: 'DisambiguationNote', index: 'DisambiguationNote' },
{ name: 'FirstName', index: 'FirstName' },
{ name: 'LastName', index: 'LastName' },
{ name: 'MiddleName', index: 'MiddleName' },
{ name: 'PersonId', index: 'PersonId',sorttype:'int' }
],
pager: '#persongridpager',
rowNum: 10,
rowList: [10, 20, 30],
viewrecords: true,
gridview: true,
caption: 'People'
});
});
我可以看到正在从 AJAX 请求中检索 JSON 数据,并且我已经非常仔细地通过了 JQGrid 的 JSON 数据指令,但看不出我做错了什么。
任何人都可以帮忙吗?谢谢你。