我在 firebug 中设置了一个断点并正在检查我的 xhr 对象。它的readyState是0,status是200。我的理解是如果status是200,请求至少应该已经开始,readystate至少应该是1。谁能解释一下这是怎么回事?
我正在使用 jquery 的 $.ajax 来创建 xhr 对象,但我认为这不会影响 xhr 的就绪状态。
最佳答案
w3c defines readyState
是 xmlhttprequest 进度的渐进指示。它按从 0->4(未初始化、打开、发送、接收、加载)的顺序转换,只有在加载时内容才准备好读取。这是属性的要点,也是您监视 onreadystatechange
事件而不是作为响应 header 的状态的原因。
根据相同的规范,status
应该在不可用时(在接收或加载时)引发异常,但我想这会被实现所忽视,以便于使用。
关于javascript - 困惑——我的 XMLHttpRequest 的 readyState 为 0,状态为 200,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/608148/