Jqgrid 3.7 在 Internet Explorer 中不显示行
我正在使用 ASP.NET 和 Jqgrid 3.7 进行测试,在 Firefox 中它工作正常,但在 IE 中它不显示网格中的任何行。
来自 web 服务的响应是
{"d":
{"__type":"jqGrid",
"total":"1",
"page":"1",
"records":"10",
"rows":[
{"id":"180","cell":["180","Cultura"]},
{"id":"61","cell":["61","Deporte"]},
{"id":"68","cell":["68","Deporte"]},
{"id":"5","cell":["5","Economía"]},
{"id":"67","cell":["67","Economía"]},
{"id":"76","cell":["76","Economía"]},
{"id":"178","cell":["178","Economía"]},
{"id":"4","cell":["4","Entrevista"]},
{"id":"66","cell":["66","Entrevista"]},
{"id":"78","cell":["78","Entrevista"]}
]
}
}
,调用是
myGrid = $("#list").jqGrid({
url: 'ws/WsNoticias.asmx/jqObtenerTemas',
datatype: 'json',
mtype: 'GET',
loadBeforeSend: function(XMLHttpRequest) {
XMLHttpRequest.setRequestHeader("Content-Type", "application/json");
},
colNames: ['Id', 'Nombre'],
colModel: [
{name: 'Id', index: 'Id', width: 20, align: 'left', editable: false},
{name: 'Nombre', index: 'Nombre', width: 200, align: 'left', editable: false}
],
rowNum: 10,
rowList: [5, 10, 200],
sortname: 'Nombre',
sortorder: "asc",
pager: $("#listp"),
viewrecords: true,
caption: '',
width: 600,
height: 250,
jsonReader: {
root: "d.rows",
page: "d.page",
total: "d.total",
records: "d.records"
}
});
我看不到问题出在哪里......,对于 3.6 之前的版本,并且使用
thegrid.addJSONData(JSON.parse(jsondata.responseText).d);
而不是 jsonReader 它可以工作。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先,您应该只使用URL 中的完整路径(以 http:// 或至少以 / 开头)。在很多情况下,Internet Explorer 在使用相对 URL 时会出现错误。
一些更小的一般性评论。您可以使用 ajaxGridOptions: { contentType: 'application/json; charset=utf-8' } 而不是使用
loadBeforeSend
。其他一些默认值(请参阅 http://www.trirand.com/ jqgridwiki/doku.php?id=wiki:colmodel_options) 也可以删除。此外,您可以将 JSON 数据缩减为
并在
jsonReader
的定义中添加 poperty 单元格: "":您可以验证 http://www.ok-soft-gmbh.com/jqGrid/Jqgrid37.htm 和 http://www.ok-soft-gmbh.com/jqGrid/Jqgrid37Comact.htm 一切正常,没有任何问题在所有标准网络浏览器中。
You should just use the full path in URL (started with http:// or at least with /) first of all. Internet Explorer works wrong in a lot of cases with relative urls.
Some more small general remarks. You can use
ajaxGridOptions: { contentType: 'application/json; charset=utf-8' }
unstead of usingloadBeforeSend
. Some other default values (see http://www.trirand.com/jqgridwiki/doku.php?id=wiki:colmodel_options) can be also removed.Moreover you can reduce the JSON data to
and add in the definition of the
jsonReader
the poperty cell: "":You can verify http://www.ok-soft-gmbh.com/jqGrid/Jqgrid37.htm and http://www.ok-soft-gmbh.com/jqGrid/Jqgrid37Comact.htm that all works without any problem in all standard web browsers.