2014-04-11 59 views
1

根據用戶的操作,我需要進行ajax調用,從一個調用到三個並行調用。我也想顯示進度條。一個進度條用於任意數量的Ajax請求。以下是我要調整的示例代碼。任何人都可以建議如何限制通話次數以及如何使用一個進度條。jquery中的併發Ajax請求進度條

$.when(
// Get the HTML 
    $.get("/feature/", function(html) { 
    globalStore.html = html; 
}), 

// Get the CSS 
$.get("/assets/feature.css", function(css) { 
globalStore.css = css; 
}), 

// Get the JS 
$.getScript("/assets/feature.js") 

).then(function() { 

    // All is ready now, so... 

    // Add CSS to page 
    $("<style />").html(globalStore.css).appendTo("head"); 

    // Add HTML to page 
    $("body").append(globalStore.html); 

}); 

回答

0

試試這個

jQuery的$。當()和$ .done()是你需要的東西:

$。當($阿賈克斯( 「/ page1.php中」) ,$ .ajax(「/ page2.php」)) .then(myFunc,myFailure);

0

其他明智的你可以試試這個 你可以做這樣的事情

VAR ALLDATA = [] $ .getJSON( 「/價值/ 1」,功能(數據){ allData.push(數據); if(data.length == 2)processData(allData)//其中過程數據處理所有數據 }});

$ .getJSON( 「/值/ 2」,功能(數據){ allData.push(數據); 如果(data.length == 2){ 過程數據(ALLDATA)//其中處理數據的過程所有數據 }});

var processData = function(data){ var sum = data [0] + data [1] $('#mynode')。html(sum); }

0

試試這個:

var ajax1 = function(){jQuery.ajax({......})}; 
    var ajax2 = function(){jQuery.ajax({......}}; 
    function loadMultipleAjax(){ 
           //add loading statement 
          jQuery.when(ajax1,ajax2) 
          .done(function(){ 
           //remove loading statement 
          })}; 


//call 
loadMultipleAjax();