【发布时间】:2012-06-30 19:38:09
【问题描述】:
当我向 jqgrid 发送 JSON 响应时,我收到“未定义”消息,Firebug 告诉我:
b.jgrid.formatter is undefined
[Break On This Error]
...input===true){b(".ui-pg-input",l).val(a.p.page);h=a.p.toppager?"#sp_1"+m+",#sp_1...
这基本上不会告诉我太多。
当我发送空响应时会发生这种情况:
{"total":0,"page":1,"records":0,"rows":[]}
或响应记录。然后记录在网格中可见。显示此“未定义”消息后,我无法浏览页面,因为当然出现了代码中的错误。
正如@Oleg 所建议的,我在这里提供了更多信息:
- 这些是我正在使用的 javascript:
jquery.validate.min.js jquery.validate.unobtrusive.min.js jquery-1.5.1.min.js jquery-ui-1.8.11.min.js jquery.jqGrid.min.js ui/jquery.ui.core.js ui/jquery.ui.widget.js ui/jquery.ui.datepicker.js
- 我的 javascript 源代码: var grid = jQuery("#list").jqGrid({ 数据类型:'json', 标题:“交易记录”, 隐藏网格:'真', 发布数据: { companyId: function () { return $("#SelectedCompany").val(); }, userId: function () { return $("#SelectedUser").val(); }, dateFromString: function () { return $("#DateFrom").val(); }, dateToString: function () { return $("#DateTo").val(); } }, url: '@Url.Action("GetTransactionLogData")', mtype: 'GET', colNames: ['Ref.', 'TradeDate', 'Status', 'LegalEntity', ...], col型号:[ {名称:'参考',索引:'参考',宽度:'60'}, {名称:'TradeDate',索引:'TradeDate',宽度:'70'}, {名称:'状态',索引:'状态',宽度:'50'}, {名称:'LegalEntity',索引:'LegalEntity',宽度:'80'}, ... ], 寻呼机:$('#pager'), 行数:10, 高度:'100%' });
- 我已经从 [this link][1] 下载了最新版本的 jqGrid,据说是 **4.4.0** 版本。
我该如何解决这个问题?
提前致谢。
【问题讨论】:
-
如果出现此类错误,您应该始终 1) 使用
jquery.jqGrid.src.js而不是jquery.jqGrid.min.js重复相同的操作 2) 您应该指定您使用的 jqGrid 的确切版本 3) 您应该包括列表您在页面上加载的 JavaScript 文件。加载顺序可能非常重要。 4) 你应该包含定义 jqGrid 的 JavaScript 代码。 -
嗨@Oleg,感谢您为我提供了我应该在此处展示的详细信息列表,以便与社区一起找到解决方案。