我有一个Kendo UI网格,在IE10 / 11 / Chrome / Firefox中运行得非常好。但是,在IE8 / 9中,它完全无法呈现任何返回的数据。它连接到OData Web Api 2端点。这是Javascript:
$(document).ready(function ()
{
$("#grid").kendoGrid({
dataSource: {
transport: {
read: "http://cross_site_url:port/api/TrackedContainers/get"
},
pageSize: 15,
sort: { field: "EventTime", dir: "desc" }
},
filterable: true,
sortable: true,
pageable: true,
columns: [
{ field: "QrCode", title: "QR Code", width: 100 },
{ field: "Type", title: "Type", width: 150 },
{ field: "Location", title: "Location", width: 200 },
{ field: "Status", title: "Status", width: 90 },
{ field: "FailedCollectionReason", title: "Failed Collection Reason", width: 150 },
{
field: "EventTime",
title: "Event Time",
type: "date",
format: "{0:dd-MMM-yyyy hh:mm:ss tt}",
parseFormats: ["yyyy-MM-dd'T'HH:mm:ss.zz"],
width: 150
}
]
});
});
一次,IE11的兼容模式似乎准确地模仿现实世界,并且在设置为IE8文档模式时也无法显示任何结果。上面的URL显然不是真正的URL - 然而它会进行跨站点调用,因此我尝试在IE8中启用XSS但无济于事。添加到受信任的站点也没有任何区别。
查看网络流量,看来网格甚至根本没有在IE8 / 9中尝试HTTP GET。
有什么想法吗?
答案 0 :(得分:2)
您是否向jQuery添加了CORS传输? IE8和9要求使用 XDomainRequest对象执行的CORS请求不是 包含在jquery中。 - Kevin B 41分钟前
在您的document.ready上方,添加$ .support.cors = true; - 罗宾吉尔特纳 53秒前
上面修复了它,谢谢你们。
答案 1 :(得分:0)
您需要在数据源中添加dataType:json
transport: {
read: {
url: "/api/request/GetUrcs",
dataType: "json"
}
},
batch: false,