小编典典

如何在jQuery中批量处理ajax请求?

ajax

我想知道如何以n为一组进行ajax调用。

这是我的用例:

我有一个显示使用情况数据的表。您可以钻取每一行,如果每行都有一个可以更深入钻取的公共属性,则可以选择一次钻取所有它们。对于每一行,都会进行ajax调用以获取要附加到表中的数据。

在某些情况下,最多可以同时钻取50行。可以想象,这给服务器带来了很大压力。我如何最好地以较小的批次发送这些呼叫,这些呼叫在等待这些批次之后才能启动?

我知道有些插件(例如jquery消息队列)可能会帮助我,但这是一个工作项目,因此我们希望尽可能避免使用插件。


阅读 589

收藏
2020-07-26

共1个答案

小编典典

您可以看一下使用jQuery.when,它允许您在所有请求完成后执行回调函数。

$.when($.ajax("request1"), $.ajax("request2"), $.ajax("request3"))
 .done(function(data1,  data2, data3){
         // Do something with the data
 });

要么

$.when($.ajax("request1"), $.ajax("request2"), $.ajax("request3"))
.then(successCallback, errorHandler);

另外,我不确定您是否在工作环境中会影响您对使用插件的担心,特别是如果这简化了您的工作。因此可以提高生产率。由于必须保证质量和长期维护,因此您必须仔细选择插件。

2020-07-26