私は通常の成功ハンドラを防ぐ方法を見つけようとしています。ロードされたファイルの内容に応じて、割り当てられた成功ハンドラを防止します。
$.ajax({
url: ...
success: function(response) {
if (response.success) {
// do success
} else {
// do fail, maybe login timeout
}
}
});
これは簡単な方法です。オブジェクトはsuccess = true/false
と非常に単純です。
しかし、ステートメントがtrueの場合、成功ハンドラが起動されないようにする方法があります。他の人が発火する場合は、他のすべての成功ハンドラと確定する前にトリガする
$.ajax({
url: ...
success: function(response) {
// do success
}
});
$.ajaxFireBeforeAllOtherSuccessHandler(function(response) {
return response.success;
});
して、この持つ$.ajaxFireBeforeAllOtherSuccessHandler
(疑似名)。
私は401
によって多分要求のstatusCode
を設定し、$.ajaxSetup
を使用して、マスターコントロールを持つことができます知っている:
$.ajaxSetup({
statusCode: {
401: function() {
// this do fail
}
}
});
しかし、それは現時点では私のためにことはできません!ロードされたファイルの内容に応じて割り当てられた成功ハンドラを防止する方法はあり
$.ajax({
url: ...
success: function() { checkAjax(arguments, function() {
// do success
}); }
});
function checkAjax(a, c) {
return a[0].success && c.apply($, a);
}
:別だった
は、あなたがあなたのコールバックをラップチェック方法を持っているのですか?
がグローバルajaxSuccessハンドラas described hereを設定します。あなたは、通常の成功ハンドラを呼び出すかどうかを決定するグローバルな方法を探しているなら