Различие между «успехом» Ajax и успешным вызовом метода? - PullRequest
2 голосов
/ 19 февраля 2009

У меня есть jquery .ajax, отправляющий сообщение в метод asp.net mvc, у которого есть атрибут authorized. Обратный вызов Ajax успешен, даже если пользователь не авторизован для публикации в действии. Во-первых, на чём основывается успех обратного вызова Ajax? Во-вторых, чтобы проверить, был ли реализован фактический метод, я вернул строку «успеха» из действия и использовал оттуда javascript. Этот второй способ в порядке?

Ответы [ 2 ]

3 голосов
/ 19 февраля 2009

Разница между успехом механизма AJAX javascript, работающего вообще (т. Е. Переход к readyState == 4), и успехом самого httprequest (т. Е. Status == 200).

Для javascript ошибка диапазона 500, создаваемая вашим приложением, будет отлично работать как запрос (посмотрите, как красиво выглядит эта трассировка стека в формате HTML?). Не забудьте проверить ваше состояние ReadyState и состояние объекта XHR.

3 голосов
/ 19 февраля 2009

AJAX - это HTTP-запросы с использованием Javascript. Те же HTTP-запросы, которые ваш браузер делает при загрузке веб-страницы.

Успех AJAX просто говорит о том, что ему удалось успешно получить URL, т.е. не было сетевых ошибок, сервер не возвращал ошибку 404 или аналогичную и т. д.

Вопрос о том, вернул ли метод, который вы вызываете, успешный результат или нет, это другой вопрос. Все, что AJAX может сделать, это сообщить вам, что он успешно получил a результат, но вам нужно будет выяснить, свидетельствует ли этот результат об успешном или неудачном выполнении вашего приложения.

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