我有一大堆 $.ajax 请求需要在触发前相互等待。我知道 async : false 选项已被弃用,而且我也知道如果我将后续函数放在 .done 中,那么它的行为方式与 async : false 相同。然而,为了保持干净,我想知道是否可以作为替代方案,我可以只留下 .done 而无需其他代码,只需从“上到下”排序我的 ajax:这会告诉 jquery 运行 ajax,然后 执行 .done 中的任何操作(在我的情况下什么都没有!),“模仿”异步:false?
举个例子:
$.ajax({type: 'POST',
data: cool_data : "cool_data",
url: 'somewhere_over_the_rainbow.php'
}).done(function(){
})
$.ajax({type: 'POST',
data: more_cool_data : "more_cool_data",
url: 'more_somewhere_over_the_rainbow.php'
}).done(function(){
})
谢谢!
最佳答案
没有。
done
注册一个将在服务器响应时调用的回调。
使用 async:false
阻塞页面直到服务器响应。 不要使用它。
链接调用的解决方案是使用 then :
$.ajax({ ... })
.then($.ajax({ ... })
.then($.ajax({ ... })
.then(function() { ... finished! ... });
关于javascript - 使用 .done 与异步 : false? 同义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22483919/