嗨我的脚本中有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