我在页面onload上进行了5到6次Ajax调用,但其中一些没有回复他们的响应。
在Stack Overflow上,我发现放async:false
(当我这样做会发生什么?它会解决我的问题吗?),我也发现它不推荐使用async:false
(为什么不推荐?)
我该怎么做?
答案 0 :(得分:0)
如果将async设置为false,则不再是Ajax调用。它是对Web服务器的常规阻塞同步调用。
目前还不清楚您在Ajax调用中遇到了什么类型的问题,但常见的错误是某种与时序相关的错误。请记住,Ajax请求的顺序不是确定性的。第二个请求可能在第一个请求之前完成,依此类推。
答案 1 :(得分:0)
您可以使用jQuery的when
和then
函数:
$.when( $.ajax( "/request1.php" ), $.ajax( "/request2.php" ) )
.then( myFunc, myFailure );
它显示前两个请求何时完成,然后您可以调用一个函数来发送更多Ajax请求。