在JQuery ajax中,如何正确处理HTTP 408错误?

在JQuery ajax中,如何正确处理HTTP 408错误?,jquery,ajax,Jquery,Ajax,我使用“error”选项集执行jqueryajax调用。在我的“错误”方法中,我希望以不同于普通HTTP 500的方式处理HTTP 408 问题是jxhr.statusCode是0,“status”值只是“error”!但在firebug中,我可以看到服务肯定返回了状态代码408 为什么jxhr.statusCode为0?是否有其他方法来识别HTTP 408错误 我的错误处理程序代码如下所示(对于408错误,代码将继续进入'else'块): 根据Jquery,您应该执行以下操作: $.ajax(

我使用“error”选项集执行jqueryajax调用。在我的“错误”方法中,我希望以不同于普通HTTP 500的方式处理HTTP 408

问题是jxhr.statusCode是0,“status”值只是“error”!但在firebug中,我可以看到服务肯定返回了状态代码408

为什么jxhr.statusCode为0?是否有其他方法来识别HTTP 408错误

我的错误处理程序代码如下所示(对于408错误,代码将继续进入'else'块):


根据Jquery,您应该执行以下操作:

$.ajax({
  statusCode: {
    404: function() {
      alert('page not found');
    }
  }
})


)

问题出在FIREFOX上。在除Firefox之外的任何浏览器中,状态代码为408。在Firefox中,状态代码为0,不返回响应头。另外,由于408响应,Firefox似乎重新请求了10次,我不知道为什么!这仅适用于HTTP 408响应

最后,我们不得不返回一个带有自定义头的HTTP500错误


脏:(

不,恐怕我的代码仍然进入0:区段而不是408:区段:(Walm你是通过检查文本而不是代码来考虑的吗?我是这样做的。‘状态’文本是‘错误’。而‘错误’的文本是‘’。不知道还有什么要检查的:(我也遇到过这个问题。我的服务器返回了预期的408,Firefox只是继续重新尝试该请求。我打开了一个错误报告:似乎Firefox对408的处理仍然存在错误,因为它拒绝了状态代码为0的请求,并且没有对导致408的第一个请求进行解析。在后续请求中s到相同的url,请求被408拒绝。
$.ajax({
  statusCode: {
    404: function() {
      alert('page not found');
    }
  }
})