jQuery.getJSON()在IE9中不能正常工作并且在下面

问题描述:

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

我在使用getJSON除IE之外的其他浏览器,已经在不同的jQuery版本上测试过,仍然没有运气,帮助!jQuery.getJSON()在IE9中不能正常工作并且在下面

小时后google搜索,我发现了一个简单而有效的解决方案!

jQuery.getJSON not working properly in IE8 with gdata json-c. Why?

只需添加&callback=?到您的网址字符串的结尾。

尝试这个技巧,就应该在这种情况下,跨域请求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/

+0

嗯抱歉,我在IE8的测试,这是行不通的......我想知道如果我不应该使用的getJSON方法,我不熟悉AJAX,任何建议? – 2013-02-26 03:49:22

请使用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' 
    });