$ http error函数未显示错误消息

时间:2015-09-15 05:25:10

标签: ajax angularjs spring-mvc exception-handling

当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;
    }
}

0 个答案:

没有答案