Jquery $ .get或$ .ajax在Internet Explorer中不起作用

时间:2012-10-29 22:30:00

标签: jquery ajax internet-explorer

我一直在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中时,响应正常。

3 个答案:

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

帮助我的资源是herehere,甚至here

答案 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