Вопрос

Я работаю над приложением с полосами, которое использует немного 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 () предлагает функцию обратного вызова с ошибкой, которую можно вызвать в случае ошибки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top