我知道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>');
};
});
答案 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