2016-11-16 105 views
-1

如何正確顯示和隱藏ajax加載程序以及ajax調用for循環。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){ 

       }); 
       } 
      }); 
} 

}

+0

做一個varibale flagCounter並增加counterFlag ajax請求完成後,檢查計數是否等於否,如果是,則隱藏加載程序 –

回答

0

一種選擇是檢查當所有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(); 
    }); 
} 
0

嘗試這樣的:

$(".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(); 
       } 
      }); 
    } 
    } 
+0

裝載機正在工作,但它仍然是卡... –

+0

裝載機沒有隱藏? –

+0

隱藏,但...我的裝載機圖像有spining議案..圓形旋轉,這是stucking –