0

次のJQueryAJAXリクエストがあります。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

あなたはこのように試しましたか:

 $(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);
    }   
}

テストしたばかりで、正常に動作しています。また、console.log呼び出しを削除します。開発者ツールが開いていない場合、IEでは動作しません。

于 2012-07-05T15:08:25.067 に答える
0

ブラウザのセキュリティ設定の問題のようです。

Internet Explorerは、セキュリティの問題としてCORS(少なくとも-IE7では)を許可していません。ただし、IE8+はXDRを実行できるようです。

于 2012-07-05T14:52:01.733 に答える