Jquery 一般如何处理mvc.net ajax错误

Jquery 一般如何处理mvc.net ajax错误,jquery,ajax,asp.net-mvc,Jquery,Ajax,Asp.net Mvc,我的mvc.net网站广泛使用ajax。到目前为止,我一直在单独处理ajax错误,但在大多数情况下,我总是做同样的事情 对于jqueryajax调用,我正在设置ajaxSetup错误配置,以便它执行我希望它执行的操作。不幸的是,当我在razor中使用ActionLink或ajax表单时,这似乎没有多大作用。对于这些,我必须将OnFailure的AjaxOptions设置为某个javascript方法 虽然我可以将它们全部指向相同的方法,但我希望能够做到这一点,而不必显式地设置AjaxOption

我的mvc.net网站广泛使用ajax。到目前为止,我一直在单独处理ajax错误,但在大多数情况下,我总是做同样的事情

对于jqueryajax调用,我正在设置ajaxSetup错误配置,以便它执行我希望它执行的操作。不幸的是,当我在razor中使用ActionLink或ajax表单时,这似乎没有多大作用。对于这些,我必须将OnFailure的AjaxOptions设置为某个javascript方法

虽然我可以将它们全部指向相同的方法,但我希望能够做到这一点,而不必显式地设置AjaxOptions。是否有一种方法可以使所有mvc.net ajax调用使用相同的事件处理程序(除非被重写),类似于jquery允许您这样做


我确信这个问题以前有人问过,但我没有看到任何好的解决方案。

好的,您可以在C#中创建一个静态方法来创建AjaxOptions类的实例,并在那里设置错误处理程序

public static class AjaxHelper
{
    public static AjaxOptions GetAjaxOptions(string onSuccess) 
    {
       var ajaxOptions = new AjaxOptions();
       ajaxOptions.OnSuccess = onSuccess;
       // your generic js function that will handle errors.
       ajaxOptions.OnError = "genericAjaxErrorHandler";
       return ajaxOptions;
    }
}
而在您的视图中,您可以在创建ajax表单时调用它

@using(Ajax.BeginForm(...., AjaxHelper.GetAjaxOptions("successHandler")) {}

您不必到处指定错误处理程序…

这当然是我没有考虑过的想法,但在这种情况下,我仍然必须在每次使用表单或链接时指定AjaxOptions。它只比显式设置OnFailure=“HandleError”好一点。如果没有指定AjaxOption的方法,我会这样做。谢谢你的主意