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

试试这个 hack,在这种情况下它应该让 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

经过几个小时的谷歌搜索,我找到了一个简单有效的解决方案!

jQuery.getJSON 在带有 gdata json-c 的 IE8 中无法正常工作。为什么?

只需添加&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 回答