Как сгенерировать ошибку ajax с ASP.NET MVC3 - PullRequest
2 голосов
/ 06 марта 2012

Я хочу обрабатывать все ошибки на стороне сервера с помощью jQuery на стороне клиента.Для этой цели создать атрибут обработки акцепта для моего приложения MVC3, например:

public class JsonErrorHandlerAttribute : HandleErrorAttribute
{
    public override void OnException(ExceptionContext filterContext)
    {
        filterContext.ExceptionHandled = true;
        JavaScriptSerializer jsSerializer = new JavaScriptSerializer();
        string result = jsSerializer.Serialize(new { error = filterContext.Exception.Message });
        filterContext.HttpContext.Response.Write(result);
    }
}

Но при таком подходе он просто возвращает нормальный ответ json с результатом 200 OK.Я не хочу анализировать его на стороне клиента, чтобы определить, есть ли в нем ошибка или нет.Итак, мой вопрос, каков наилучший способ выдать ошибку AJAX?

1 Ответ

4 голосов
/ 06 марта 2012

Добавьте это к вашей функции

HttpContext.Response.StatusCode = 500;

Это вызовет событие ошибки, если вы используете jQuery ajax, там вы можете реагировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...