Разрешение ошибок jQuery Ajax

Я работаю над приложением полосок, которое использует немного 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()});
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
0
4 283
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий
$(document).ajaxError(function(event, XMLHttpRequest, ajaxOptions, thrownError) {
    // redirect here.
}

Я должен добавить, что я не перенаправляю, когда есть исключение в вызове Ajax. Вместо этого сервер возвращает описание ошибки в формате JSON и отображает его на странице.

Что ж ... на самом деле сервер обрабатывает выброшенное исключение, поэтому он возвращает какой-то html вместо обычного текста, которого я ожидал, поэтому jQuery думает, что все прошло нормально. Думаю, чтобы использовать это, я мог бы заставить обработчик исключений возвращать код состояния HTTP 500 или что-то в этом роде? Хм..

lucas 04.11.2008 20:06

Правильно, 500 = вызывается ajaxError.

Craig Stuntz 04.11.2008 20:10

А как насчет использования $ .ajax () вместо $ .post ()? Более общий $ .ajax () предлагает обратный вызов ошибки, который вы можете вызвать в случае ошибки.

Другие вопросы по теме