对于Spring MVC Controller中的验证错误,我将自定义标题错误设置为响应标头。我可以在Firefox 3.5中访问响应标头。但不是在IE 8中。 请告诉我,向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();
});
答案 0 :(得分:0)
如果要调用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-exception-handling-incorporating-ajax/