Разрешение ошибок JQuery Ajax
-
06-07-2019 - |
Вопрос
Я работаю над приложением с полосами, которое использует немного jQuery, чтобы сделать пользовательский интерфейс более динамичным / удобным.
Я установил Разрешение ошибок, поэтому, если выдается ошибка, пользователь перенаправляется на страницу error.jsp.
Однако, если во время вызова jQuery Ajax выдается ошибка, вместо перенаправления на страницу error.jsp, я получаю html, напечатанный на странице, где должен был быть результат вызова.
Как мне сказать jQuery перенаправить, если вместо печати на страницу было сгенерировано исключение?
Пример оскорбительного Ajax:
$.post("SendStatusEmail.action",
{status: newstatus, id : id },
function(data) {
column.text(data);
column.addClass("redfont");
column.parent().fadeOut(3000, function(){column.parent().remove()});
Решение
$(document).ajaxError(function(event, XMLHttpRequest, ajaxOptions, thrownError) {
// redirect here.
}
Я должен добавить, что я не перенаправляю, когда есть исключение в вызове Ajax. Вместо этого я заставляю сервер возвращать описание ошибки в формате JSON и отображать его на странице.
Другие советы
А как насчет использования $ .ajax () вместо $ .post ()? Более общий метод $ .ajax () предлагает функцию обратного вызова с ошибкой, которую можно вызвать в случае ошибки.