2011-07-07 17 views
0

引数の数を知らずに$.whenメソッドでjquery ajaxリクエストを複数回行うことはできますか?

これは私のコードです:あなたは.ajax()コールバック(成功およびエラー)を使用する方が簡単かもしれないやっていることに応じて、

var ajax_loaded = new Array(); 

    $('.chart input[name^="qtd"]').each(function() 
    {   
     ajax_loaded.push(function(){$.ajax({ 
      url : www + 'chart/add', 
      type : 'POST', 
      data : { 
       qtde: $(this).val(), 
       idProd: $(this).prev().val() 
      } 
     })}); 
    }); 

    $.when(ajax_loaded).done(function(){ 
     alert('Done'); 
    }); 

答えて

0

はい - あなたと$.when()を呼び出すためにFunction.applyを使用未知の長さの配列:

var ajax_loaded = []; 

$('.chart input[name^="qtd"]').each(function() 
{   
    ajax_loaded.push($.ajax({ 
     url : www + 'chart/add', 
     type : 'POST', 
     data : { 
      qtde: $(this).val(), 
      idProd: $(this).prev().val() 
     } 
    }); 
}); 

$.when.apply($, ajax_loaded).done(function(){ 
    alert('Done'); 
}); 

NB:あなたはARRに$.ajaxの結果をプッシュする必要があることに注意してくださいいいえ、関数ではありません。クロージャを押しても機能しません。

+0

ありがとうAlnitak!それは完璧に働いた! – pierophp

+0

@pierophp upvoteとacceptを忘れないでください – Alnitak

0

関連する問題