Для ошибок проверки в Spring MVC Controller я устанавливаю пользовательский заголовок error в заголовок ответа. Я могу получить доступ к этому заголовку ответа в Firefox 3.5. Но не в IE8. Пожалуйста, посоветуйте мне, как правильно показать пользовательское сообщение об ошибке клиенту Jquery.
var jqxhr=$.post("saveAcc.htm",{ data: data});
jqxhr.success(function() {
alert("Saved");
});
jqxhr.error(function(thrownError){
fnSetError(jqxhr.getResponseHeader('error'));
alert(jqxhr.getAllResponseHeaders()); //returns empty
//alert('responseText '+ thrownError.responseText);
alert(jqxhr.getResponseHeader('error')); //return null
oTable.fnReloadAjax();
});
1 ответ
Если вы хотите вызвать функцию обработчика ошибок JS, сгенерируйте исключение на сервере.
В качестве альтернативы вы можете установить для HTTPStatus значение 500 или другой статус ошибки.
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
//response.setStatus(500);
Но я думаю, что ваш подход неверен. Ошибки проверки не являются ошибками приложения, вы должны обрабатывать их в сообщении об успешном завершении.
jqxhr.success(function(data) {
if(data['validationMessages'].length > 0 ) {
//deal with the validation issues
}
});
Это может помочь: http://outbottle.com/spring- 3-web-mvc-обработка-исключений-включая-ajax/
Похожие вопросы
Новые вопросы
jquery
jQuery — это библиотека JavaScript. Также рассмотрите возможность добавления тега JavaScript. jQuery — это популярная кросс-браузерная библиотека JavaScript, которая упрощает обход объектной модели документа (DOM), обработку событий, анимацию и взаимодействие AJAX, сводя к минимуму расхождения между браузерами. Вопрос с тегом jQuery должен быть связан с jQuery, поэтому jQuery должен использоваться рассматриваемым кодом, и в вопросе должны быть как минимум элементы, связанные с использованием jQuery.