0

我有以下 JQuery AJAX 请求,它在 Chrome 中运行良好,但是当我在 IE 中测试时,它返回undefined

$.ajax({
    url : 'http://pipes.yahoo.com/pipes/pipe.run?_id=26650603c42f41d78bfb5c5c740747d3&_render=json&_callback=?',
    dataType : 'xml',
    complete : function(data) {
        console.log(data.responseText);
    }
});
4

2 回答 2

1

Did you tried like this:

 $(document).ready(function(){
    $.ajax({
        url : 'http://pipes.yahoo.com/pipes/pipe.run?_id=26650603c42f41d78bfb5c5c740747d3&_render=json&_callback=pipeCallback', 
        dataType : 'jsonp',
        complete : function(data) {
            //alert(data.responseText);
            //console.log(data.value);
        },
         error: function (xhr, status, error) {
                alert(error);
            }
    });
});
function pipeCallback(d){
    data = d;
    //console.debug(d);
    var arts = d.value.items;
    for (var i=0; i<arts.length; i++)
    {
    var a = document.createElement("a");
    a.setAttribute("href", arts[i].link);
    a.innerHTML = "<h1>" + arts[i].title + "</h1>"
    var dv = document.createElement("div");
    dv.innerHTML = arts[i].description;
    document.body.appendChild(a);
    document.body.appendChild(dv);
    }   
}

Have just tested it is working fine also get rid of console.log calls, if the developer tools arenot open it wont work in IE.

于 2012-07-05T15:08:25.067 回答
0

这似乎是浏览器安全设置的问题:

出于安全考虑,Internet Explorer 只是不允许 CORS(至少在 -IE7 中)。然而,IE8+ 似乎能够进行 XDR。

于 2012-07-05T14:52:01.733 回答