多个jquery ajax请求 - 处理它的方法

时间:2016-01-19 09:37:03

标签: javascript jquery ajax

如果有jquery ajax加载,我通过快速单击按钮触发另一个ajax,它会被卡住。如何处理多个一起发出的请求?

我该怎么做? 1.丢弃/中止所有先前的请求,仅处理最新的请求。 2.在上一次完成之前不要允许新请求(变体:可以是相同的ajax请求或来自页面的任何新的ajax请求)。

3 个答案:

答案 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)

看一下这个库:

  

Async是一个实用程序模块,它提供了使用异步JavaScript的直接,强大的功能。

Async