问题标签 [xmlhttprequest-states]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 即使发送了响应,XMLHttpRequest 也只能达到 readystate 1
我正在尝试向我在 app.js 中设置的节点服务器发送一个 httprequest。在 app.js 中定义了一个名为 allSnippets 的特定端点,当我运行http://localhost:3000/allSnippets时,它按预期工作,但是当我在 html 文件中创建一个应该向 app.js/allSnippets 发送 XMLHttpRequest 的按钮时,就绪状态永远不会超过 1。总的来说,我想达到就绪状态 4 并处理响应,但我选择更改“嗨”的颜色来测试我达到的就绪状态,因为我从未收到任何响应。此 html 文件位于名为“public”的目录中。包含“public”的目录也包含 app.js。
关于为什么我没有达到就绪状态 4 的任何想法?
javascript - XMLHttpRequest.readyState & XMLHttpRequest.status 最终阶段比较
我有一个脚本,我想看看是否可以修复比较。
代码很简单,但我想要的我无法实现。
这种比较是真实的,必须经过一些以前的状态:
if (this.readyState === 4 && this.status === 200) {
XMLHttpRequest.readyState:
值 状态 描述
0 UNSENT 客户端已创建。open() 尚未调用。
1 OPENED open() 已被调用。
2 HEADERS_RECEIVED send() 已被调用,并且标头和状态可用。
3 LOADING 下载;responseText 保存部分数据。
4 DONE 操作完成。
XMLHttpRequest.status:
在请求完成之前,status 的值为 0。浏览器也会报告状态为 0,以防 XMLHttpRequest 错误。
- 未发送:0
- 打开:0
- 装载量:200
- 完成:200
我想要做的是,如果状态的最后阶段比较分别与 4 和 200 不同,则转到另一个函数。
有可能做到这一点,还是我在做白日梦?