Kendo UI Grid不在IE8和IE中显示任何数据仅限IE9

时间:2014-03-12 15:26:45

标签: javascript jquery internet-explorer-8 kendo-ui kendo-grid

我有一个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。

有什么想法吗?

2 个答案:

答案 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,