【发布时间】:2011-11-18 04:03:22
【问题描述】:
假设我定义了一些全局 Ajax 事件处理程序(ajaxStart、ajaxStop 和 ajaxError)。通常我对此很好,但是对于一个请求,我想禁用 ajaxError 处理程序,但仍像往常一样运行 ajaxStart 和 ajaxStop 处理程序。 jQuery ajax function documentation 提到了可以设置为 false 并传递给 $.ajax 函数以禁用所有全局 Ajax 事件处理程序的“全局”参数,但它们没有提到仅禁用某些全局处理程序的任何方法。
我可以通过对传递给 ajaxError 函数的 ajaxSettings 对象的“url”属性进行测试来阻止 ajaxError 处理程序,但这似乎有些笨拙。这里有没有人知道禁用 ajaxError 函数运行的方法,这对看起来很清楚的人来说是 在调用 $.ajax 函数的地方?
如果有人想看,我可以提供一个简单的例子。
【问题讨论】:
-
您是否尝试过(我猜这个)将您自己的
.error处理程序添加到$.ajax()调用中,然后将return false放在函数末尾以停止处理? -
是的,我试过了。它没有解决问题。全局处理程序仍在运行。
-
如果我没记错的话,全局处理程序(成功、错误、完成)在成功/错误/完成处理程序之前运行。
标签: javascript jquery ajax