2
var video_id='VA770wpLX-Q';

$.getJSON('http://gdata.youtube.com/feeds/api/videos/'+video_id+'?v=2&alt=jsonc',function(data,status,xhr){
    alert(data.data.title);
});

IE9 以下で getJSON() を使用する際に問題が発生しています。リクエストは完了しましたが、関数は実行されていません。IE を除く他のすべてのブラウザーで動作しています。さまざまな jquery バージョンでテスト済みですが、まだうまくいきません。助けてください!

4

3 に答える 3

3

このハックを試してみてください。この場合、クロスドメインリクエストでIEが動作するはずです:

$.support.cors = true;
$.getJSON('http://gdata.youtube.com/feeds/api/videos/' + video_id + '?v=2&alt=jsonc', function (data) {
    console.log(data.data.title);
});

私のために働いたhttp://jsbin.com/ariyec/1/

于 2013-02-25T08:04:13.780 に答える
1

何時間もグーグルで調べた後、シンプルで効果的な解決策を見つけました!

gdata json-c を使用する IE8 で jQuery.getJSON が正しく機能しない。なんで?

&callback=?URL 文字列の末尾に追加するだけです。

于 2013-02-26T09:15:20.850 に答える
0

次のようにjsonpを使用してください:

  var video_id='VA770wpLX-Q';

  $.ajax({
    url: 'http://gdata.youtube.com/feeds/api/videos/'+video_id+'?v=2&alt=jsonc',
    success: function(data,status,xhr){alert(data.data.title);},
         dataType: 'jsonp'
  });
于 2013-02-26T10:06:21.223 に答える