我使用jQuery发布($。post)到控制器操作并返回JSON结果。
如果有任何错误,我将返回带有JSON结果的错误消息,并以模态显示给用户。
但是,我在拦截AFT例外方面遇到了很多麻烦。
我只想抓取错误消息并将结果发回给用户,而不是扔掉500。
...而且,如果我只是试图处理错误,我无法弄清楚如何阻止它取消执行动作方法
答案 0 :(得分:1)
令牌错误不是由您的代码处理的 - 它是在Action实际执行之前发生的过滤器指令(在执行之前需要有效的令牌 - 这是为了安全性)。
您可以通过创建自己的ActionFilter来解决这个问题 - 但这是麻烦(使用大写字母T) - 我可能会建议您找到另一种方法来实现它或让它失败。您还可以对脚本中的返回值进行测试 - 如果没有任何内容,您可以显示消息。
答案 1 :(得分:1)
您可以在Application_Error
中捕获此错误,如果请求是异步的,请在包含错误消息的响应中发送正确的JSON。