我有jQuery的兩個函數。這兩個函數都調用jQuery ajax。
都有屬性async:false。
在這兩個函數我重定向的基礎上的一些Ajax響應條件。
在第一個函數的成功中,我調用另一個函數,然後重定向到另一個頁面。但是我的第一個函數沒有重定向,因爲我的第二個函數沒有等待第一個函數的響應。
希望問題從我的問題中很明顯。同步兩個ajax jquery函數
我的第一個功能是如下
function fnGetCustomer() {
function a(a) {
$("#loading").hide();
//on some condition
//other wise no redirection
self.location = a;
}
var b = $("input#ucLeftPanel_txtMobile").val();
"" != b && ($("#loading").show(), $.ajax({
type: "POST",
url: "Services/GetCustomer.ashx",
data: { "CustMobile": b },
success: a,
async: false,
error: function() {
$("#loading").hide();
}
}));
}
和我的第二個功能我打電話的第一個函數
function fnSecond() {
$.ajax({
type: "POST",
url: "some url",
async: false,
data: { "CustMobile": b },
success: function(){
fnGetCustomer();
//if it has all ready redirected then do not redirect
// or redirect to some other place
},
error: function() {
$("#loading").hide();
}
}));
}
我用我的第一功能準備好了。所以我不想改變我的第一個功能。
請顯示您的ajax代碼 – Hkachhia
不應該使用'async:false',並且在下一個主要版本的jQuery中將不推薦使用'async:false'。 – Alnitak
給一些簡單的模擬或片段。 – user10