嗨我的腳本中有2個Ajax調用,我需要他們運行asnyc業餘時間,但我需要第二個等待,直到第一個完成。jQuery等待,直到異步阿賈克斯調用完成
$.ajax({
type: "POST",
url: "getText.asmx/ws_getText",
data: parO1,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert(msg.d.data);
}
, error: function() {
chyba("chyba v požadavku", "df");
}
});
if (parO2.length > 0) {
$.ajax({
type: "POST",
url: "getText.asmx/ws_getText",
data: parO2,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
/*WAIT UNTIL THE FIRST CALL IS FINISHED AND THAN DO SOMETHING*/
}
, error: function() {
chyba("chyba v požadavku", "df");
}
});
那麼有什麼想法?謝謝
,但是這會讓執行時間長,因爲第二個呼叫將被啓動後的第一個結束,我在想是這樣的:在第一次調用成功,我可以將某些變量設置爲true,並在第二次呼籲成功,我可以做到while(變量== false){等待}並繼續,但我不知道如何正確寫入 – user1352324 2012-04-23 21:28:20
執行'等待'的唯一方法是'setTimeout',然後檢查您的全局變量。但從技術上講,這意味着您的超時可能在通話結束後發生,但仍在等待。只需向用戶顯示一個旋轉的gif或其他內容以指示服務器正在工作就可以了。 – Tejs 2012-04-23 21:30:01