2017-08-22 36 views
0

私のプログラムでは、2つのタブがあります。フォームを使用してポストajaxリクエストを実行しています。 JSONの2種類が コードを表示しますアヤックスの負荷に は以下の通りです:複数のajaxリクエストが実行された後に関数を呼び出す

josnの到着時に今
$('#myForm').submit(function() { 


$.ajax({ // create an AJAX call... 
     data : $(this).serialize(), // get formdata 
     dataType : "json", 
     //async : false, 
     //timeout : 55000, 
     type : $(this).attr('method'), // GET or 
     // POST 
     url : url.A, // the file to call 
     success : function (json) { 
      // on success.. 
      $('.ajaxloader').css("visibility", "hidden"); 
      Graph = json; 
      draw(Graph); 
     } 
    }); 


$.ajax({ // create an AJAX call... 
      data : $(this).serialize(), // get formdata 
      dataType : "json", 
      type : $(this).attr('method'), //POST 
      url : url.B, // the file to call 
      success : function (json) { 
       // on success.. 
       table= json; 
       plot(table); 
      } 
     }); 
} 

私が最初に私の他のタブを表示するために、私はonclickのイベントを書いています、テーブルを示すいますこの方法は...ドメイン上の私をクリックすると

$(init); 
    function init() { 

      $('body').on('click', 'a.all',function(){ 
       plot(table); 
      }) 
      .on('click', 'a.domain',function(){ 
      draw(Graph); 
      }); 
    } 

が今私の問題は、JSONはまだエラーを投げるので、ロードされていないだろうが、 はどのように私はこれを解決します。..

をこれまでのところ私はを試してみました(それはうまく動作しますが、推奨されていない警告が表示されます) AjaxStopは、初めてタブレットを切り替えたときに応答が表示されません 私はJavaスクリプトを初めて使用しているので、使用方法はありません

+0

グローバル変数を使用してajax呼び出しが完了したことを通知する方法についてはどうか。 クリック時の機能では、グローバル変数の値を確認できます。 。( 'クリック'、 'a.all'、機能(){ (グローバル変数){ プロット(テーブル)の場合;}} )に ' $( '体')のような ' –

答えて

1

ajaxComplete()のようなAjaxグローバルイベントを使用できます。

var ajaxCounter = 0; 

$(document).ajaxComplete(function(){ 
    ajaxCounter++; 

    if(ajaxCounter == 2){ 
    $(init); 
    } 
}); 
+0

グレート!あなたはその答えを[承諾](https://stackoverflow.com/help/someone-answers)としてマークできますか? –

関連する問題