当ajax调用失败时,我必须给用户一个正确的消息
我的Ajax调用如下:
$http({
method:'PUT',
url:"/myapp/web/update",
crossDomain:true,
data:dataobj,
headers:{
'Content-Type':'application/json',
}
}).success(function (data) {
console.log("error"+JSON.stringify(data));
}).error(function (data, status, headers, config) {
console.log("error"+JSON.stringify(data));
});
来自支持我使用Spring MVC 4作为restfull api。从那以后我正在验证数据并相应地发送响应。如果在验证中出现问题,我会抛出自定义异常。
现在,如果我抛出异常它被缓存在 Ajax成功函数中,但我希望它必须在错误函数中捕获它。为此,我添加以下代码行:
response.sendError(500);
现在它已按预期缓存在错误函数中,但我无法找到JSON错误消息。任何人都可以在代码中告诉我哪里出错了。
编辑:
以下是我回复错误消息的代码
@ControllerAdvice
public class ExceptionHandlingController{
@ExceptionHandler(EmployeeNotFoundException.class)
public @ResponseBody ExceptionJSONInfo handleEmployeeNotFoundException(HttpServletRequest request, Exception ex){
ExceptionJSONInfo response = new ExceptionJSONInfo();
response.setUrl(request.getRequestURL().toString());
response.setMessage(ex.getMessage());
response.sendError(500);
return response;
}
}