我一直在IE 9中运行此代码而没有运气。我查看了有关UTF-8修复的所有帖子,但无济于事。有什么想法吗?
$.get({
url: 'http://api.flickr.com/services/rest/?api_key={apikey}&method=flickr.collections.getTree&user_id=66970820%40N03&collection_id=66947766-72157631850748939',
success: function () {
console.log('success!');
}
}).done(function () {
console.log('done');
}).fail(function () {
console.log('fail')
});
它在Safari,FF和Chrome中运行良好。将URL粘贴到IE中时,响应正常。
答案 0 :(得分:4)
@Iden Gozlan,你的回答听起来不错,但是我的虚弱心灵感到困惑。
@Erik和@charlietfl你对JSONP的建议让我走上了正确的道路。它绝对是一个跨域脚本问题。无法理解为什么IE是唯一一个不允许这样做的人。我编辑了我的代码,一切都很棒!
$.ajax({
url: 'http://api.flickr.com/services/rest/?api_key={apikey}&method=flickr.collections.getTree&user_id=66970820%40N03&collection_id=66947766-72157631850748939&jsoncallback=doSomeGreatStuff',
dataType: "jsonp"
});
function doSomeGreatStuff(response) {
// do some great stuff with the json response
console.log( response.collections.collection[0].id );
}
答案 1 :(得分:3)
这个jQuery XDomainRequest plugin可以创造奇迹。
我有IE8和9的ajax问题,但只是包含这个插件而不更改任何代码给了我IE8和9 CORS ajax功能:)
答案 2 :(得分:1)
其已知问题,请阅读此帖: IE9 jQuery AJAX with CORS returns "Access is denied"
您应该使用XMLHttpRequest原始调用或下载以下插件,它将为您提供此案例的解决方案:
https://github.com/jaubourg/ajaxHooks/blob/master/src/xdr.js