MVC 3 Ajax.ActionLink Как получить код состояния в обработчике onFailure? - PullRequest
1 голос
/ 29 декабря 2010

В действии, вызванном ссылкой действия Ajax, мне нужно сгенерировать исключение HttpException в зависимости от текущих условий. В зависимости от этих условий HttpException может иметь другой код.

Как получить код состояния в обработчике onFailure?

Ответы [ 2 ]

1 голос
/ 20 октября 2011

У меня была такая же проблема, и я понял, что вам не нужно выдавать HttpException. Вместо этого:

return new HttpStatusCodeResult(401);

Обработчик onFailure должен выглядеть следующим образом:

function handleOnFailure(response) {
        alert(response.status);
    }

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

0 голосов
/ 13 октября 2016

Просто установите свойство AjaxOptions.OnFailure для функции, подобной этой:

<script>
function onFailure(xhr, status) {
    alert(xhr.statusText);
}
</script>

Смотрите это сообщение: https://www.experts -exchange.com / questions / 28583187 / MVC-Ajax-BeginForm-how-в-ручка-OnSuccess-и-OnFailure-из-Controller.html

...