Я работаю над приложением полосок, которое использует немного 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 и отображает его на странице.
Правильно, 500 = вызывается ajaxError.
А как насчет использования $ .ajax () вместо $ .post ()? Более общий $ .ajax () предлагает обратный вызов ошибки, который вы можете вызвать в случае ошибки.
Что ж ... на самом деле сервер обрабатывает выброшенное исключение, поэтому он возвращает какой-то html вместо обычного текста, которого я ожидал, поэтому jQuery думает, что все прошло нормально. Думаю, чтобы использовать это, я мог бы заставить обработчик исключений возвращать код состояния HTTP 500 или что-то в этом роде? Хм..