如果有jquery ajax加载,我通过快速单击按钮触发另一个ajax,它会被卡住。如何处理多个一起发出的请求?
我该怎么做? 1.丢弃/中止所有先前的请求,仅处理最新的请求。 2.在上一次完成之前不要允许新请求(变体:可以是相同的ajax请求或来自页面的任何新的ajax请求)。
答案 0 :(得分:0)
AJAX是异步的。所以你可以同时开火。
或者在成功回调(或.done()回调)中,您可以一个接一个地调用一个请求。所以很容易管理你的问题(你点击按钮但被卡住),因为你可以控制。
$.ajax({
url: "http://..."
})
.done(function( data ) {
// Other AJAX call
// or restore disabled elements
// while you were receiving the response.
});
如果你想要解决方法,请告诉我。
答案 1 :(得分:0)
你可以使用ajax" beforeSend"锁定当前请求。因此,只有完成上一个请求后,该用户才能发送新请求。对于流程序列,您可以使用全局值来存储数据,并始终为其分配新的响应值。
execfile(filename)
答案 2 :(得分:0)