为什么IE中没有调用回调函数?
致电Flickr:
$.getJSON("http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos",
{
api_key: APIKey,
photoset_id: photoSetID,
format: "json",
per_page: 40,
nojsoncallback: 1
}, displayImages);
function displayImages(data) { alert('called'); }
致电YouTube:
$.getJSON('https://gdata.youtube.com/feeds/api/users/username/favorites?alt=json', function(data)
{
alert('called');
})
这两种类型的调用都可以在除IE之外的任何其他浏览器上运行。 你能解释一下为什么吗?
答案 0 :(得分:1)
jQuery仅支持非IE< = 9浏览器中的跨域ajax。要在IE中使用这些API,您需要使用JSONp(如果可用)或添加jQuery plugin,以增加对IE使用的XDomainRequest api的支持。
如果可能,请使用JSONp; XDR有一些限制 - 有关详细信息,请参阅http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx。