如何拦截和处理AntiForgeryToken异常?

时间:2010-07-09 08:02:54

标签: asp.net-mvc exception-handling antiforgerytoken

我使用jQuery发布($。post)到控制器操作并返回JSON结果。

如果有任何错误,我将返回带有JSON结果的错误消息,并以模态显示给用户。

但是,我在拦截AFT例外方面遇到了很多麻烦。

我只想抓取错误消息并将结果发回给用户,而不是扔掉500。

...而且,如果我只是试图处理错误,我无法弄清楚如何阻止它取消执行动作方法

2 个答案:

答案 0 :(得分:1)

令牌错误不是由您的代码处理的 - 它是在Action实际执行之前发生的过滤器指令(在执行之前需要有效的令牌 - 这是为了安全性)。

您可以通过创建自己的ActionFilter来解决这个问题 - 但这是麻烦(使用大写字母T) - 我可能会建议您找到另一种方法来实现它或让它失败。您还可以对脚本中的返回值进行测试 - 如果没有任何内容,您可以显示消息。

答案 1 :(得分:1)

您可以在Application_Error中捕获此错误,如果请求是异步的,请在包含错误消息的响应中发送正确的JSON。

相关问题