$ .ajax没有在IE上触发,没有错误

时间:2014-12-26 00:55:13

标签: jquery internet-explorer internet-explorer-8

我知道IE8已经存在了一段时间,关于类似问题还有很多问题。在其他问题中找不到的解决方案,我认为我确实从其他问题中添加了一些不错就像不要在IE中使用$.getJSON并在IE8调用中始终使用cache: false

所以问题是为什么这在IE8中不起作用? 做了一个for ... in循环,但也尝试了回调函数中的 alert 而没有。感觉像ajax永远不会被解雇......

jsFiddle:http://jsfiddle.net/cmx0yfy8/show

只有页面中的代码(除了在头部加载jQuery):

$.ajax({
        url:"https://rawgit.com/umpirsky/country-list/master/country/cldr/en/country.json",
        cache: false,
        dataType: "json"
    }).done(function (data) {
         for (code in data){
        $('body').append('<div>' + code + '</div>'); 
    }; 
});

2 个答案:

答案 0 :(得分:1)

XHR控制台是什么样的?

尝试将json切换为jsonp。

参考:What are the differences between JSON and JSONP?

$.ajax({
    type: GET,
    url:"https://rawgit.com/umpirsky/country-list/master/country/cldr/en/country.json",
    cache: false,
    dataType: "jsonp",
    success: function(data){
        $.each(data, function(index, value) {
          $('body').append('<div>' + data.code + '</div>');
        });     
    }
});

答案 1 :(得分:0)

我打赌你正在进行IE 8不支持的跨域AJAX调用。您最好的选择是通过XDomainRequest

http://msdn.microsoft.com/en-us/library/ie/dd573303%28v=vs.85%29.aspx