我正在使用类似于以下代码(非常简化的版本)执行跨域获取请求。
var addData = function() {
$.ajax({
type:'GET',
url:'http://DifferentDomain.com/data.php',
data:'body',
success: function(data){
$('body').html(data);
}
});
}
现在,由于IE不支持CORS,我需要使用iecors插件使用XDomainRequest
,该插件效果很好,因为当IE因XHttpRequest
而失败时,它会切换到XDR
。
但是我遇到的问题是$('body').html(data);
这似乎只有在我在控制台中实时执行它后才能在 IE 中起作用,而不是在 $(document).ready
上首次调用它时?(这在所有其他浏览器中都工作正常,因为它们支持 XHR)
我认为这是一个时间问题,所以我不确定如何解决这个问题,我是否使用 setTimeout()
并为 IE 浏览器运行两次?请问有人可以提供一些建议吗?提前非常感谢。
编辑
我已经通过使用setTimeout执行它找到了解决方法,但仍然觉得这不是最好的解决方案,例如
setTimeout(function(){
addData();
},0);
我已经通过使用 setTimeout 执行它找到了解决方法,但仍然觉得这不是最好的解决方案,例如
setTimeout(function(){
addData();
},0);