首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何让一个函数等到所有jQuery Ajax请求在另一个函数内完成?

如何让一个函数等到所有jQuery Ajax请求在另一个函数内完成?
EN

Stack Overflow用户
提问于 2018-06-05 10:29:18
回答 2查看 0关注 0票数 0

如何让一个函数等到所有jQuery Ajax请求在另一个函数内完成?

简而言之,在执行下一步之前,需要等待所有的Ajax请求完成。

EN

回答 2

Stack Overflow用户

发布于 2018-06-05 19:23:08

jQuery ajaxQueue

代码语言:javascript
复制
//This handles the queues    
(function($) {

  var ajaxQueue = $({});

  $.ajaxQueue = function(ajaxOpts) {

    var oldComplete = ajaxOpts.complete;

    ajaxQueue.queue(function(next) {

      ajaxOpts.complete = function() {
        if (oldComplete) oldComplete.apply(this, arguments);

        next();
      };

      $.ajax(ajaxOpts);
    });
  };

})(jQuery);

然后可以像下面这样向队列添加一个ajax请求:

代码语言:javascript
复制
$.ajaxQueue({
        url: 'page.php',
        data: {id: 1},
        type: 'POST',
        success: function(data) {
            $('#status').html(data);
        }
    });
票数 0
EN

Stack Overflow用户

发布于 2018-06-05 20:07:09

使用ajaxStop事件。

例如假设在获取100个Ajax请求时有加载消息,并且想在加载后隐藏该消息。

从jQuery 文档

代码语言:javascript
复制
$("#loading").ajaxStop(function() {
  $(this).hide();
});

它将等待该页面上所有的Ajax请求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100004753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档