2011-08-05 88 views
3


我正在写一个简单的书签,它在YouTube页面上运行,并从YouTube的API中获取一些关于当前播放视频的数据。
的bookmarket在Chrome和Firefox上运行,但在IE浏览器(目前仅适用于IE9测试),我从下面的代码得到错误:jQuery.getJSON访问被拒绝

jQuery.support.cors = true; 
$.getJSON('https://gdata.youtube.com/feeds/api/videos/' + vid + '?v=2&alt=json',YoutubeBookmarklet.handle_gdata_obj) 
.error(function(xhr, ajaxOptions, thrownError) { 
    console.log(thrownError); 
}); 

的第一个错误我得到的是“没有交通”,以帮助stackoverflow我看到我需要添加jQuery.support.cors = true为了解决它,添加它后,我得到另一个错误:“访问被拒绝。”

我试图使用IE XDomainRequest,但是我得到了同样的错误。
怎么办?

+0

JavaScript不允许跨域$ .get's like that,read http://en.wikipedia.org/wiki/Same_origin_policy – Phil

+0

嗨,菲尔,我不认为你是对的,如果这是真的,那么我的代码不会在Chrome或Firefox上运行。 – Yosi

回答

3

我固定它才能做到这一点使用JSONP我补充说: “&回调=?”到网址的结尾。