1

我正在 MVC3 上开发一个休息 API。
每当验证出现问题时,我想抛出 500 +描述错误的json(json 可以是未验证字段的列表)。
问题是 json 在包含整个HttpExeption( Server Error in '/' Application.)的 html 中返回
如果我把filterContext.ExceptionHandled = true;消息清除干净,但客户端看不到他身边的 500 错误。这种情况:https ://stackoverflow.com/a/4707762/936651实际上是html并将干净的json提供给客户端,但也消除了500错误。

4

1 回答 1

1

您可以在您拥有的自定义错误处理程序中将状态代码设置为 500 seen here

filterContext.RequestContext.HttpContext.Response.StatusCode = 500;

在客户端:

$.ajax({
    url: '/home/foo',
    success: function (result) {
        alert('success');
    },
    error: function (jqXHR, textStatus, errorThrown) {
        var json = $.parseJSON(jqXHR.responseText);
        // TODO: do something with the json that was returned from the server
    }
});
于 2012-11-25T15:53:07.947 回答