3

我在 firebug 中设置了一个断点,并正在检查我的 xhr 对象。它的readyState为0,它的状态为200。我的理解是,如果状态为200,则请求至少应该已经开始,而readystate应该至少为1。谁能解释这是怎么回事?

我正在使用 jquery 的 $.ajax 来创建 xhr 对象,但我认为这不会影响 xhr 的就绪状态和状态。

4

2 回答 2

4

w3c将其定义readyState为 xmlhttprequest 进度的渐进式指示。它按从 0->4 的顺序转换(未初始化、打开、发送、接收、加载),并且只有在加载时才准备好读取内容。这是属性的重点,也是您监视onreadystatechange事件的原因,而不是作为响应标头的状态。

通过相同的规范status应该在不可用时引发异常(在接收或加载时),但我想这是为了易于使用而被实现所蔑视。

于 2009-03-03T21:13:37.250 回答
3

当 readyState 为 4 时请求完成,而不是状态为 200 时。

于 2009-03-03T21:02:53.923 回答