Safari将xhr请求中的对象解释为String而不是Objects

时间:2014-07-03 15:10:44

标签: javascript safari xmlhttprequest

我正在尝试通过xhr请求加载带有对象的json文件。

var xhr = new XMLHttpRequest();
    xhr.open("GET", url, true);
    xhr.responseType = "jsonp";
    xhr.onload = function (data) {
        discog = xhr.response;
    };

    xhr.send();

这在chrome中很好用,但是safari会将响应解释为字符串 - 我在这里做错了什么?

非常感谢

1 个答案:

答案 0 :(得分:0)

一个问题是"jsonp"不是valid responseType

请改为尝试:

var xhr = new XMLHttpRequest();
xhr.open("GET", url, true);
xhr.onload = function(){
    discog = JSON.parse(xhr.responseText);
};
xhr.send();

或者这个:

var xhr = new XMLHttpRequest();
xhr.open("GET", url, true);
xhr.responseType = "json";
xhr.onload = function(){
    discog = xhr.response;
};
xhr.send();