Как измеряется OnSuccess для ASP.NET MVC ActionLink?

Я не совсем понимаю, как работают ActionLinks ASP.NET. Я вижу, что у них есть обработчик событий для OnSuccess и OnFailure, но я не могу найти ничего, что бы описывало, как определяется успех и неудача.

Я создаю приложение ASP.NET MVC, и в нем у меня есть Ajax.ActionLink, который позволяет мне «голосовать» за элементы, используя AJAX... аналогично Digg. Actionlink запускает мой контроллер и метод... здесь все работает нормально.

В моем контроллере есть логика, которая проверяет, голосовал ли этот пользователь раньше. Я хотел использовать «OnSuccess» и «OnFailure», чтобы реагировать по-разному. Я хочу, чтобы он запускал мою функцию Javascript «PlusOneVote», если пользователь никогда не голосовал (это сценарий OnSuccess) и если пользователь проголосовал до того, как я хочу запустить свою функцию javascript «CheaterYouCantVoteTwice».

Может кто-нибудь объяснить, как измеряются OnFailure и OnSuccess?

Может кто-нибудь объяснить, как я могу построить эту логику... где я могу запустить одну функцию Javascript в одной ветке (в моем случае, если пользователь никогда не голосовал) и другую функцию Javascript в случае, если пользователь уже проголосовал?


person Whozumommy    schedule 26.07.2009    source источник


Ответы (1)


Успех измеряется на основе кода состояния HTTP ответа ajax и ничего более. По сути, если вы получите код уровня 400 (любой из 400-417), вы получите отказ. Если вы получаете 200, это считается успехом.

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

person womp    schedule 26.07.2009