Как измеряется OnSuccess для ASP.NET MVC ActionLink?
-
19-09-2019 - |
Вопрос
Я не совсем понимаю, как работают ActionLinks ASP.NET.Я вижу, что у них есть обработчик событий для OnSuccess и OnFailure, но я не могу найти ничего, что описывало бы, как определяется успех и неудача.
Я создаю приложение ASP.NET MVC, и внутри него у меня есть Ajax.ActionLink, который позволяет мне «голосовать» за элементы с помощью AJAX... аналогично Digg.Actionlink запускает мой контроллер и метод... здесь все работает нормально.
В моем контроллере есть логика, которая проверяет, голосовал ли этот пользователь раньше.Я хотел использовать «OnSuccess» и «OnFailure», чтобы реагировать по-разному.Я хочу, чтобы он запускал мою функцию Javascript «PlusOneVote», если пользователь никогда не голосовал (это сценарий OnSuccess) и если пользователь проголосовал до того, как я хочу запустить мою функцию Javascript «CheaterYouCantVoteTwice».
Может ли кто-нибудь объяснить, как измеряются OnFailure и OnSuccess?
Может ли кто-нибудь объяснить, как я могу построить эту логику... где я могу запустить одну функцию Javascript в одной ветке (в моем случае, если пользователь никогда не голосовал) и другую функцию Javascript в случае, если пользователь уже проголосовал?
Решение
Успех измеряется на основе кода состояния HTTP ответа ajax и не более того.По сути, если вы получите код уровня 400 (любой из 400–417), вы получите неудачу.Если вы наберете 200, это считается успехом.
Я думаю, вам нужно будет изучить содержимое данных в обработчике OnSuccess, чтобы определить, что делать, вместо того, чтобы рассматривать один тип сообщения об ошибке и один тип сообщения об успехе.С точки зрения ajax, это было успешно, если был возвращен действительный ответ.