未定义的JSON对象,仅在IE11中

时间:2016-03-29 19:35:32

标签: javascript json internet-explorer

我将以下JSON文件加载到页面中。

{"crawl":[
    {"class":"1", "info":"info 1"},
    {"class":"2", "info":"info 2"},
    {"class":"3", "info":"info 3"},
    {"class":"4", "info":"info 4"},
    {"class":"5", "info":"info 5"}
]}

使用此脚本:

var objJSON = function(url, successHandler, errorHandler) {
    if (window.ActiveXObject) {
        var obj = new ActiveXObject('Microsoft.XMLHTTP');
    } else {
        var obj = new XMLHttpRequest();
    };
    obj.open('get', url, true);
    obj.responseType = 'json';
    obj.onload = function() {
        var status = obj.status;
        if (status == 200) {
            successHandler && successHandler(obj.response);
        } else {
            errorHandler && errorHandler(status);
        }
    };
    obj.send();
};
objJSON('crawl.json', function(data) {
    crawlArray = data.crawl;
    console.log(crawlArray);
});

在Firefox中,这会输出正确的对象数组。 IE 11声称该阵列未定义。另外,在完整的脚本中,我在迭代数组,IE11控制台也说Unable to get property 'length' of undefined or null reference.这里的任何帮助都会很棒。我希望我只是遗漏了一些简单的东西。

0 个答案:

没有答案