for循环内的Ajax调用

Ajax call inside for loop

本文关键字:Ajax 调用 循环 for      更新时间:2023-09-26

如何在for循环中正确显示和隐藏ajax加载器以及ajax调用。

$scope.upload = function(){
    $(".loader").show();
     for(var i=0;i<count ;i++){
     $.ajax({
               type: "POST",
               url: "/upload",
               data: data;
               contentType : 'multipart/form-data',
               success: function(msg){
                 }); 
               }
             });
}

}

一个选项是检查所有ajax调用何时完成:

$scope.upload = function(){
    $(".loader").show();
    var calls = [];
     for(var i=0;i<count ;i++){
     calls[i] = $.ajax({
                   type: "POST",
                   url: "/upload",
                   data: data;
                   contentType : 'multipart/form-data',
                   success: function(msg){
                   }); 
             });
    }
    Promisse.all(calls).then(function(data){
        $(".loader").hide();
    });
}

试试:

$(".loader").show();
var counterFlag =0;
 for (var i = 0; i < count; i++){
    $.ajax({
            //ajax options
            success: function(msg){
            },
            complete:function(d){
                counterFlag++;
                if(counterFlag==count)
                {
                    $(".loader").hide();
                }
            });
    }
  }