JQuery Ajax сообщение об ошибке - PullRequest
1 голос
/ 10 февраля 2011
$.ajax({
    type: "POST",
    url: "/Controller/Methods/" + $('#FrameworkId').val() + "/10/" + $('#category').val(),
    success: function(data) {
        alert("sucess")
    },
    error:function(data) {
        alert(data.statuscode)
    }
});

И на стороне сервера

Предположим, на стороне сервера В действии, которое я просто делаю

filterContext.HttpContext.Response.StatusCode = 401;
throw new UnauthorizedAccessException("Login_Expired");

Все еще alert(data.statuscode) дает 500

Что можетЯ делаю, чтобы получить 401, как я его установил?

1 Ответ

2 голосов
/ 10 февраля 2011

Не бросайте исключение

Не выбрасывайте исключение в свой фильтр действий.

Каков характер вашего действия? Вот пример фильтра исключений , который возвращает 400 обратно клиенту.

Не имеет прямого отношения, но только к вашему сведению . HttpUnauthorizedResult, который является частью инфраструктуры Asp.net MVC, делает то же самое:

public override void ExecuteResult(ControllerContext context)
{
    if (context == null)
    {
        throw new ArgumentNullException("context");
    }
    context.HttpContext.Response.StatusCode = 0x191;
}

Как видите, он возвращает только соответствующий код состояния. Не исключение, брошенное .

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