当前位置: 首页 > 面试题库 >

当每个循环中的所有ajax调用成功时,如何采取措施?

凌鹏程
2023-03-14
问题内容

我在.each循环内调用ajax jquery函数,并且仅当循环内的所有ajax调用完成并成功时,我才想执行一个操作。

$(".checked-box").each(function () {
     // ajax call goes here
});
$('.messsage').html('all requests done');

怎么做?否,async: false因为这会阻止浏览器。


问题答案:

这是一种方法:

var numberOfPendingRequests = 8;
$(".checked-box").each(function () {   
   $.ajax({
     success: function(){
        ...
        numberOfPendingRequests --;
        if(numberOfPendingRequests == 0) allDone();
     }
   });
});
function allDone(){
  $('.messsage').html('all requests done');
}

您可以根据numberOfPendingRequests复选框的数量来计算初始值,也可以从0开始,在每次ajax请求之前将其递增,但这是一般的想法。

希望这可以帮助。干杯



 类似资料:
  • 问题内容: 在Android应用程序中(或者在没有区别的情况下,在Java中更常见),什么时候变量值发生变化的最佳方法是什么? 问题答案: 您真正想要做的是设置事件驱动模型,以在事件发生时触发侦听器(在您的情况下,说变量值已更改)。这不仅对于Java,而且对于其他编程语言也非常普遍,尤其是在UI编程的情况下(尽管不一定如此) 通常,这可以通过执行以下步骤来完成: 确定在事件触发时侦听器应实现的接口

  • 问题内容: 我创建了一个for循环,该循环循环了元素出现在容器中的次数。for循环从HTML捕获一些数据,并创建一个JSON url,然后将返回一个值。然后应将该值添加到适当位置的HTML中。 问题似乎是for循环在进行所有Ajax调用之前完成,因此仅将最后一个值添加到HTML。我以为可以确保readystate等于4,但是该解决方案不起作用。我还尝试将完整而不是成功用作Ajax事件。有什么见解吗

  • 问题内容: 我有一个带有行的表格样式页面。每行都有一个复选框。我可以选中所有/很多复选框,然后单击“提交”,这是对每一行的Jquery ajax调用。 基本上,我为每一行都有一个表单,并且遍历所有选中的行并提交执行jquery ajax调用的表单。 所以我有一个按钮,它可以: 那么每一行都有: 该表格提交给processRow: 我想知道的是,通过这种方法,我可以判断出我所有的Ajax调用是否均已

  • 问题内容: 我想附加到一个元素并立即更新它。console.log()会按预期显示数据,但是append()在for循环完成之前不执行任何操作,然后立即将其全部写入。 index.html: test.js: server.php: 直到for循环完成后,页面才呈现。在运行javascript之前,至少不应该首先呈现HTML吗? 问题答案: 如果您切换到,则在添加数据时屏幕将能够更新。 如果您坚持

  • 我从PHP页面收到一个Json输出,如下所示 null null 我如何循环结果,这样我就可以访问每个元素了?我已经尝试了类似下面的东西,但这似乎不起作用。 null null

  • 问题内容: 我正在一个网站上,我们从XML文件中获取信息。效果很好,但是现在我需要对内容进行滑动。为此,我将使用jCarousel声明它们可以通过调用回调函数来处理动态加载的内容。 但是,当我成功调用函数时,无法进行初始的ajax加载。我究竟做错了什么? 我做错什么了吗?还是我必须去一个完全不同的地方?:-) 问题答案: 使用hulabula代替hulabula()或将函数直接传递给ajax选项: