8

私はこのコードをIE9で運がなく実行してきました。UTF-8の修正などに関するすべての投稿を確認しましたが、役に立ちませんでした。何かご意見は?

$.get({
    url: 'http://api.flickr.com/services/rest/?api_key={apikey}&method=flickr.collections.getTree&user_id=66970820%40N03&collection_id=66947766-72157631850748939',
    success: function () {
        console.log('success!');
    }
}).done(function () {
    console.log('done');
}).fail(function () {
    console.log('fail')
});

Safari、FF、Chromeで問題なく動作します。URLをIEに貼り付けると、応答は正常です。

4

3 に答える 3

4

@Iden Gozlan、あなたの答えは良さそうですが、私の弱い心は混乱しました。

@Erikと@charlietflのJSONPへの提案は、私を正しい道に導いてくれました。これは間違いなくクロスドメインスクリプティングの問題です。IEがこれを許可しない唯一の理由を理解できません。私は自分のコードをそのように編集しましたが、すべてうまくいきました!

$.ajax({
  url: 'http://api.flickr.com/services/rest/?api_key={apikey}&method=flickr.collections.getTree&user_id=66970820%40N03&collection_id=66947766-72157631850748939&jsoncallback=doSomeGreatStuff',
  dataType: "jsonp"
});

function doSomeGreatStuff(response) {
  // do some great stuff with the json response
  console.log( response.collections.collection[0].id );
}

私を助けてくれたリソースはここここ、そしてここにさえあります

于 2012-10-30T15:08:54.867 に答える
1

既知の問題については、次の投稿をお読みください: CORS を使用した IE9 jQuery AJAX が「アクセスが拒否されました」を返す

XMLHttpRequest の元の呼び出しを使用するか、この場合の解決策を提供する次のプラグインをダウンロードする必要があります。

https://github.com/jaubourg/ajaxHooks/blob/master/src/xdr.js

于 2012-10-29T22:58:45.450 に答える