在Firefox中,我发生了一个同步请求(它必须是同步或后来的JS无法正常运行)现在在XMLHttpReq函数中它基本上将DIV的一个内容更改为一个小的加载徽标(转动cog)所以你可以看到进展...在FF这100%异步或同步... Chrome和IE没有这样的运气..?
任何人都可以帮助我或解释原因吗?我猜它与它们有关,禁用所有其他进程,但如果是这样我怎么能让这个工作或评估和JS文件后这个原始的XMLHttpReq加载?
答案 0 :(得分:1)
Is there any reason to use a synchronous XMLHttpRequest?
同步调用会占用您的浏览器,直到事务完成,这就是建议不要这样做的原因。
您应该查看异步调用的排序。含义......问题不在于您的异步调用,而是您{y} it must be sync or the later JS will not run correctly
的原因。在AJAX回调中设置completed
变量非常简单,其他有问题的JS在执行之前可以检查。
答案 1 :(得分:0)
Frame.js旨在启用同步请求,而无需挂断浏览器。
Frame(function(next){
startImageRotation();
next();
});
Frame(function(next){
$.ajax('someUrl.api', {
...
complete: next
});
});
Frame(function(next, response){
// do stuff with ajax response
});
其他评论者说,由于浏览器支持不佳,真正的同步AJAX请求几乎无用。 Frame.js被设计为解决该问题的方法。祝你好运。