问题标签 [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.

0 投票
0 回答
8 浏览

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 的任何想法?

0 投票
1 回答
70 浏览

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 不同,则转到另一个函数。

有可能做到这一点,还是我在做白日梦?