jQueryには2つの機能があります。どちらの関数もjQueryajaxを呼び出しています。
どちらにもプロパティasync:falseがあります。
どちらの関数でも、いくつかのajax応答条件に基づいてリダイレクトしています。
最初の関数が成功すると、別の関数を呼び出してから、別のページにリダイレクトします。しかし、2番目の関数が最初の関数の応答を待機していないため、最初の関数はリダイレクトされていません。
私の質問から問題が明らかになることを願っています。
私の最初の機能は以下の通りです
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();
}
}));
}
そして私の2番目の関数は最初の関数を呼び出しています
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();
}
}));
}
私は最初の機能をすべて使用しています。したがって、最初の関数を変更したくありません。