用于中止或超时的XMLHttpRequest readyState

时间:2015-06-29 13:12:50

标签: javascript ajax xmlhttprequest

如果您的XMLHttpRequest实例已超时或已中止,但您在onTimeout事件期间没有做任何事情,例如,我们如何才能看到XMLHttpRequest实例的状态?

例如,如果请求返回404,则可以在请求完成后很长时间内在status属性中看到此内容。

但是超时似乎并没有留下任何东西。超时readyState已完成',并且没有response - 但无法知道为什么没有响应(超时,连接问题,中止等)。

上下文

我正在使用Backbone。它使用XMLHttpRequest中的jQuery。中止/超时收到的errorText / exception不会由Backbone显示给应用程序逻辑,而只显示XHR实例本身。

因此需要直接从XHR查找此信息而不附加onTimeout事件处理程序等等。

看起来解决方案可能是调整它附加超时事件的方式,或者冒出错误。

1 个答案:

答案 0 :(得分:0)

在进一步检查时,虽然似乎没有任何相关文档,但textStatus上有一个jqXHR属性,该属性已设置并可在事件发生后访问触发。我会用它。

如果你不使用jQuery和onTimeout甚至已经通过了,它没有任何帮助。感觉可以添加额外的readyState选项以反映超时状态。