confused - 我的XMLHttpRequest的readyState为0,状态为200

时间:2009-03-03 20:56:37

标签: javascript jquery ajax xmlhttprequest

我在firebug中设置了断点并正在检查我的xhr对象。 readyState为0,状态为200.我的理解是,如果状态为200,请求至少应该开始,而就绪状态应该至少为1.任何人都可以解释发生了什么事情吗?

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

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:3)

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