Jquery中的并行Ajax请求与进度条

时间:2014-04-11 10:20:51

标签: jquery progress-bar

根据用户的操作,我需要进行ajax调用,范围从一次调用到三次并行调用。我也希望显示进度条。任意数量的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);

 });

3 个答案:

答案 0 :(得分:0)

试试这个

jQuery $ .when()和$ .done()正是您所需要的:

$。when($。ajax(&#34; /page1.php"),$ .ajax(&#34; /page2.php"))   .then(myFunc,myFailure);

答案 1 :(得分:0)

另外,你可以试试这个 你可以做这样的事情

  

var allData = [] $ .getJSON(“/ values / 1”,function(data){       allData.push(数据);       if(data.length == 2){         processData(allData)//进程数据处理所有数据的位置       }});

     

$。getJSON(“/ values / 2”,function(data){       allData.push(数据);       if(data.length == 2){         processData(allData)//进程数据处理所有数据的位置       }});

     

var processData = function(data){        var sum = data [0] + data [1]        $( '#MYNODE')HTML(总和); }

答案 2 :(得分: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();