javascript - 困惑——我的 XMLHttpRequest 的 readyState 为 0,状态为 200

标签 javascript jquery ajax xmlhttprequest

我在 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/

相关文章:

javascript - 如何在 wordpress 链接中添加动态 anchor 文本。

javascript - 如何向数据表标题添加额外的过滤器?

javascript - 如何切换选定或单击的元素(并非全部)

javascript - 字符串到 jQuery 对象,替换属性然后再次返回字符串(参见 JS Fiddle)

javascript - 具有可变形式位置的 Ajax URL

javascript - 菜单最初在页面加载时打开,应该关闭直到被点击

javascript - 如何将 JS 变量传递到 INPUT 语句的 "value="参数中

javascript - jQuery 可见选择器不工作

javascript - 如何在不刷新页面的情况下自动刷新多个php变量?我只能办理一台atm

javascript - 如何防止 jQuery 在点击时更改 href 属性?