使用jQuery.ajaxError或jQuery.ajaxComplete附加的全局Ajax事件处理程序似乎不会收到有关提取失败是否是超时的任何信息.有关如何检测超时的任何指示?检查jqXHR对象的status属性是否为0是一种可靠的方法吗?
解决方法
可能在定义全局jQuery Ajax事件处理程序方面存在一些差异.你没有发布你的代码.我尝试了以下内容
$(document).bind("ajaxError",function (e,jqXHR,ajaxSettings,thrownError) { // log the event }); $(document).bind("ajaxComplete",jqXHR) { // log the event });
使用jQuery 1.7.1,我可以看到,在超时错误的情况下,总是调用ajaxError和ajaxComplete.
您可以在the simple demo中验证这一点,这在我的测试中也会显示
如果成功或
在超时错误.