0

我在 Spring 控制器中定义了一个异常处理程序,如下所示:

@ExceptionHandler(Customized4ExceptionHandler.class)
public void handleCustomized4Exception(
    Customized4ExceptionHandler ex,
    HttpServletRequest request,
    HttpServletResponse response) throws IOException {

        response.sendError(HttpStatus.EXPECTATION_FAILED.value(),
        "zzzzzzz");

}

当错误被触发时,我在用户端得到以下信息:

在此处输入图像描述

错误代码正确,但没有显示“zzzzzzz”描述性消息。如何在用户端显示它?

我的 Javascript 是:

$.ajax({
    type: 'GET',
    url:  prefix + "/throwCustomized4ExceptionHandler",
    dataType: 'json',
    async: true,
    success: function(result) {
        alert('Unexpected success !!!');
    },
    error: function(jqXHR, textStatus, errorThrown) {
        alert(jqXHR.status + " "
                   + textStatus + " "
               + errorThrown + " !");
    }
});
4

2 回答 2

1

它应该以jqXHR.statusText.

于 2012-11-06T14:00:42.467 回答
0

我解决了以下问题:

@ExceptionHandler(Customized4ExceptionHandler.class)
@ResponseStatus(value=HttpStatus.BAD_REQUEST) 
@ResponseBody
public String handleCustomized4Exception(
    Customized4ExceptionHandler ex) {

    // return "zzzzzzz"
    return ex.getSpecialMsg();

}

$.ajax({
    type: 'GET',
    url:  prefix + "/throwCustomized4ExceptionHandler",

    async: true,
    success: function(result) {
        alert('Unexpected success !!!');
    },
    error: function(jqXHR, textStatus, errorThrown) {
        alert(jqXHR.status + " " + jqXHR.responseText);
    }
}); 
于 2012-11-06T17:39:01.610 回答