我并不完全了解ASP.NET ActionLinks的工作原理。我看到他们有一个OnSuccess和OnFailure的事件处理程序,但我找不到任何描述成功和失败如何确定的东西。
我正在构建一个ASP.NET MVC应用程序,在其中我有一个Ajax.ActionLink,它允许我使用AJAX对项目进行“投票”......类似于Digg。 Actionlink开始我的控制器和方法......一切都在这里工作正常。
在我的控制器中,我有逻辑检查此用户之前是否已投票。我想用“OnSuccess”和“OnFailure”来回应不同。我希望它运行我的Javascript函数“PlusOneVote”如果用户从未投票(这是OnSuccess场景),并且如果用户在我想要运行我的javascript函数“CheaterYouCantVoteTwice”之前投票。
有人可以解释如何衡量OnFailure和OnSuccess吗?
有人可以解释我如何构建这个逻辑......我可以在一个分支中运行一个Javascript函数(在我的情况下,如果用户从未投票)和在用户已经投票的情况下运行另一个Javascript函数?
答案 0 :(得分:6)
成功是根据ajax响应的HTTP状态代码来衡量的,仅此而已。基本上如果你得到400级代码(任何400 - 417),你就会失败。如果你得到200,那就算是成功了。
我认为您需要检查OnSuccess处理程序中的数据内容以确定要执行的操作,而不是将一种类型视为失败消息,而将一种类型视为成功消息。从ajax的角度来看,如果返回了有效的响应,它就会成功。