首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery -完成多个ajax请求

jQuery -完成多个ajax请求
EN

Stack Overflow用户
提问于 2016-09-20 08:27:19
回答 3查看 51关注 0票数 2

$.each()中,我执行AJAX请求:

代码语言:javascript
复制
$.each(all, function(i,v) {                                 
    $.ajax({
        url: "/mycontroller/"+encodeURIComponent(v),
        success: function(data){ 
            $('#inner').append(data);
        }
    }); 
});

现在,如果$.each()中的每个AJAX请求都完成了,我想显示一条消息。但是我如何做到这一点,因为AJAX是异步的?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-09-20 08:38:30

使用简单的javascript,您可以通过以下方式完成它:

代码语言:javascript
复制
var counter = 0;
$.each(all, function(i,v) {                                 
    $.ajax({
        url: "/mycontroller/"+encodeURIComponent(v),
        success: function(data){ 
            $('#inner').append(data);
            counter++; //increment the counter
        },
        error: function(){
            counter++; //increment the counter
        },
        complete : function(){
            //check whether all requests been processed or not
            if(counter == all.length)
            {
                alert("All request processed");
            }
        }
    }); 

});
票数 1
EN

Stack Overflow用户

发布于 2016-09-20 08:29:02

您可以利用jQuery.when()。这种方法

提供一种基于零或多个对象(通常是表示异步事件的延迟对象)执行回调函数的方法。

代码语言:javascript
复制
var ajaxRequests = all.map(function(x) { 
    return $.ajax({
        url: "/mycontroller/"+encodeURIComponent(x),
        success: function(data){ 
            $('#inner').append(data);
    }
}); 
jQuery.when.apply(this, ajaxRequests).then(function() {
    // do what you want
});
票数 4
EN

Stack Overflow用户

发布于 2016-09-28 07:28:52

使用异步:false在浏览器传递到其他代码之前完成ajax请求

代码语言:javascript
复制
$.each(all, function(i,v) {                                 
   $.ajax({
       type: 'POST',
       url: "/mycontroller/"+encodeURIComponent(v),
       data: row,    
       success: function(data){ 
          $('#inner').append(data);
         }
       error: function() {
       console.log("Error")
    }
  });   });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39589148

复制
相关文章

相似问题

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