Ich versuche, eine Möglichkeit zu finden, meine normalen Erfolg Handler zu verhindern, wenn eine Aussage wahr ist, z.Verhindern Sie den zugewiesenen Erfolgshandler abhängig von dem Inhalt der geladenen Datei
$.ajax({
url: ...
success: function(response) {
if (response.success) {
// do success
} else {
// do fail, maybe login timeout
}
}
});
Dies ist der einfache Weg. Sehr einfach nur ein Objekt mit success = true/false
.
Aber gibt es eine Möglichkeit, zu verhindern, dass mein Erfolgshandler ausgelöst wird, wenn eine Aussage wahr ist, z.
$.ajax({
url: ...
success: function(response) {
// do success
}
});
$.ajaxFireBeforeAllOtherSuccessHandler(function(response) {
return response.success;
});
und dann dieser mit $.ajaxFireBeforeAllOtherSuccessHandler
(Pseudonamen) vor alle anderen Erfolg Handler und bestimmt auszulösen, wenn die andere ausgelöst.
Ich weiß, dass ich die statusCode
des Antrags vielleicht durch 401
einstellen und habe dann einen Steuer Master mit $.ajaxSetup
:
$.ajaxSetup({
statusCode: {
401: function() {
// this do fail
}
}
});
Aber es ist nicht möglich für mich im Moment!
Ein anderer war, ist ein Kontrollverfahren haben, wo Sie Ihre Rückruf wickeln in:
$.ajax({
url: ...
success: function() { checkAjax(arguments, function() {
// do success
}); }
});
function checkAjax(a, c) {
return a[0].success && c.apply($, a);
}
Gibt es eine Möglichkeit, den zugewiesenen Erfolg Handler je nach Inhalt der geladenen Datei zu verhindern?