2017-11-29 8 views
-1

私はjQueryのAJAXのAPIを利用するとjqueryの - AJAX同期APIは、私が呼び出すために別のファイルにあるGETリクエストからのデータを使用する必要があるため

async = false 

を使用するよりも他の同期呼び出しを行うことができます呼び出しますjquery関数とajax呼び出しから受け取ったデータを一緒にして残りのコード実行を続けます。

私は$ .whenを使ってみましたが、あまり成功しませんでした。

誰でもこの問題で私を助けることができます。

ありがとうございます。

+0

内のAJAXを行う必要があります必要なのは、ページの実行を停止し、ajax API呼び出しデータを取得し、データが利用可能になるとページの実行を続行することです。これは可能ですか?ありがとう – James

答えて

0

あなたはasync:falseを置く必要があります。これは、AJAXの代わりに同期呼び出しを行うか、質問が正しく理解されていれば、2つの呼び出しが完了し、データをまとめて関数を呼び出す必要があります。 手動コールバックの結果を同期する必要があります、あなたのロジックは

var data1 = ""; 
var data2 = ""; 
jQuery.ajax().done(function(data){ 
data1 = data; 
if(data1 != "" && data2 != "") { 
    doFunction(data1,data2); 
} 
}); 
jQuery.ajax().done(function(data){ 
data2 = data; 
if(data1 != "" && data2 != "") { 
    doFunction(data1,data2); 
} 
}); 

ことや、すべてのI私はpropoerlyので、それを説明するかどうかわからないんだけど、AJAX

jQuery.ajax().done(function(data){ 
var data1 = data; 
jQuery.ajax().done(function(data2){ 
    doFunction(data1,data2); 
}); 
}); 
関連する問題