从像这样的问题开始,我想要包装jQuery的$.ajax()方法,以便我可以在一个地方提供错误处理,在整个应用程序的远程调用中自动使用它。
简单的方法是创建一个新名称,类似于$.get()和$.post()将外观实现为$.ajax()。但是,我希望重用名称$.ajax(),这样我们可以让我们的其余代码使用标准的jQuery语法,隐藏我们已经添加了自己的错误处理的事实。这样做实际可行和/或好吗?或者可能是一个可怕的主意?
编辑:到目前为止的回复表明.ajaxError()是正确的方法。我知道这会捕获400和500级别的错误,但是否有办法(通过此事件处理程序或其他方式)也捕获302重定向?我正在尝试处理重定向到登录页面的响应,但当它是XHR请求时,我们希望拦截该重定向,以允许用户取消操作,而不是强制将他们自动转发。