Я пытаюсь найти способ предотвратить мой обычный обработчик успеха, если какое-либо утверждение верно, например,
$.ajax({
url: ...
success: function( response ) {
if ( response.success ) {
// do success
} else {
// do fail, maybe login timeout
}
}
});
Это простой способ. Очень просто иметь объект с success = true/false
.
Но есть ли способ предотвратить запуск моего обработчика успеха, если утверждение верно, например,
$.ajax({
url: ...
success: function( response ) {
// do success
}
});
$.ajaxFireBeforeAllOtherSuccessHandler(function(response) {
return response.success;
});
, а затем это имеет $.ajaxFireBeforeAllOtherSuccessHandler
(псевдо-имя) для запуска перед всеми другими обработчиками успеха и определения, будут ли запущены другие.
Я знаю, что могу установить statusCode
запроса, может быть, 401
, а затем получить главный элемент управления, используя $.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);
}
Есть ли способ предотвратить назначенный обработчик успеха в зависимости от содержимого загруженного файла?