我在firebug中设置了断点并正在检查我的xhr对象。 readyState为0,状态为200.我的理解是,如果状态为200,请求至少应该开始,而就绪状态应该至少为1.任何人都可以解释发生了什么事情吗?
我正在使用jquery的$ .ajax来创建xhr对象,但我认为这不会影响xhr的readystate和status。
答案 0 :(得分:4)
readyState
的w3c defines是xmlhttprequest进度的渐进指示。它按照从0-> 4(未初始化,打开,发送,接收,加载)的顺序转换,并且仅在加载时才准备好读取内容。这是属性的重点以及监视onreadystatechange
事件的原因,而不是作为响应头的状态。
根据相同的规范status
应该在不可用时(在接收或加载时)引发异常,但我想这是为了易于使用而被实现藐视。
答案 1 :(得分:3)
当readyState为4时,请求完成,而不是当状态为200时。