1

MVC3 で REST API を開発しています。検証に問題がある場合はいつでも、エラーを説明する 500 + json
をスローしたいと考えています (json は検証されていないフィールドのリストである可能性があります)。問題は、json が( ) 全体を保持する html 内に返される ことです。このケース: https://stackoverflow.com/a/4707762/936651実際には html であり、クライアントにクリーンな json を提供しますが、500 エラーも削除します。
HttpExeptionServer Error in '/' Application.
filterContext.ExceptionHandled = true;

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 に答える