问题标签 [onreadystatechange]

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 投票
2 回答
1592 浏览

json - XMLHttpRequest.onReadyStateChange 在 Chrome、Firefox、Internet Explorer 中不起作用

我正在使用 Aptana Studio 3 文本编辑器并在 Windows 7 Enterprise OS 上工作。我有以下 AJAX 代码,它在本地系统上无法获取保存在 https 网站上的 JSON 文件。此示例取自 Youtube 视频:

JSON 和 AJAX 教程:带有真实示例

索引.html:

样式.css:

主.js:

这段代码似乎不适用于我的本地机器。我尝试通过在本地机器上使用NodeJs安装 http-server 来运行它,但仍然没有乐趣!

ww3Schools.com上的另一个 JSON AJAX 代码

虽然似乎工作正常。这是 html 文件中的内联 javascript 代码。最初我认为 onReadyStateChange 是无法在 IE、FF、CH 等上运行的罪魁祸首,但是这个网站代码也有 onReadyStateChange 但它工作正常!

还是按钮单击事件处理程序无法正常工作的原因?

我的代码不是内联的,这可能是原因吗?如果没有,我错过了什么或做错了什么?

0 投票
0 回答
26 浏览

javascript - 加载 CSSOM 后 onreadystatechange == 是否完全触发?

问题很小很简单:

onreadystatechange == complete加载 CSSOM 后会触发吗?

请在您的答案中提及一些权威参考,以便我进行交叉检查。谢谢 :-)

0 投票
1 回答
160 浏览

javascript - Document.readystate 谎称正在加载谷歌地图画布图像

我正在从 iframe 中打印包含 google maps API v3 地图的页面。我实现了以下代码以确保在打印 iframe 之前页面已完全加载。

}

document.readystate === 'complete'然而,即使 AFTER确实有 500 毫秒的延迟,页面通常也会使用灰色/空白的谷歌地图画布打印,没有图像。

如果我再次点击 window.print() 而不重新加载页面,那么它会按预期打印带有所有地图图像的 iframe。所以文档就绪状态是在说谎。

除了增加延迟甚至更长之外,我还能做些什么来解决这个问题(我不想这样做,因为它会惩罚人们在内容快速加载时等待很长时间)

0 投票
1 回答
377 浏览

javascript - 何时使用 onerror、ontimeout 属性?(XMLHttpRequest)

我使用 XMLHttpRequest 类将有效负载数据从 Web 客户端发送到 Web 服务器。

我想处理如下错误...

  • 请求超时(连接超时)
  • 500内部服务器错误
  • 502错误的网关
  • 503服务不可用

我不知道 onstatechange、onerror、ontimeout 属性的明显用法。我不知道单独的 onreadystatechange 是否可以捕获这些错误。

另外,如果我必须使用onerror,ontimeout,我想知道与onreadystatechange有什么区别。

0 投票
1 回答
890 浏览

ajax - xhttp.onreadystatechange 返回未定义的 xhttp.responseText

我试图通过从另一个组件调用xhttp.responseText来访问它,但它显示未定义。比我尝试从xtthp.onreadystatechange 外部访问它。它再次显示未定义。请帮助我。我想从另一个 Component( login.component.ts )访问它

这是文件。

文件数据.component.ts

文件数据.component.html

登录组件.ts

我想通过调用makeRequest来访问responseText。有什么建议吗?我应该怎么做才能在此处访问responseText

0 投票
1 回答
335 浏览

javascript - onreadystatechange func. not working

i have written following ajax code but the onreadystatechange func. is not working within the chkPwd script func....only alert box with hiii 1 is shown on browser

0 投票
3 回答
4275 浏览

javascript - XMLHttpRequest onreadystatechange 从未为 readyState 0 触发

我设置了通常的 XMLHttpRequest,到目前为止一切正常,我可以检索数据和 readyState 更改并执行各种操作。

但是没有发生的一件事是 readyState 在达到 0 时会触发 onreadystatechange() 函数。

现在我想知道......为什么?

我查看了XMLHttpRequest MDN 条目,但没有提到为什么当 readyState 达到 0 时不应触发 onreadystatechange。我也没有找到关于该主题的其他信息......

片段:

当 XMLHttpRequest 套接字处理完请求后,XMLHttpRequest 实例将具有值 readyState===0,至少 Firefox 的 JS 控制台告诉我这一点。

发出请求后,JS 控制台正确列出了 readyStates 1-4 的日志消息,但没有列出 readyState 0 的消息,不是在请求之前,也不是在请求之后。

理论上,当readyState从4变回0时,不应该触发onreadystatechange()函数吗?在 macOS 上使用当前 FF 和 Safari 以及在 Win 上使用 IE11 进行了检查,到处都是相同的行为,onreadystatechange() 永远不会为 readyState 0 触发。

XMLHttpRequest 是故意不这样做,还是我做错了什么?感谢任何有用的输入。:)

(请不要“使用 jQuery”评论或类似的评论,谢谢。)

更新

结果表明,在成功或失败的请求完成后,readyState 将永远保持在 4,并在 FF、IE、Safari 中进行了验证。

但是,如果正在进行的请求被中止,readyState 将从 > 0 返回到 0。所以一个 readystatechange 确实发生了,但是 onreadystatechange 没有被触发,在 FF 和 Safari 中验证了这一点。

更新 3

根据XMLHttpRequest 规范,当 XHR 处于 readyState 3(接收)并被中止时,XHR 应该使用 onreadystatechange 事件将 readyState 设置为 4(完成),发出网络错误,然后在没有onreadystatechange 事件的情况下将 readyState 设置为 0(未发送) .

但是当我中止处于 readyState 3(接收)的 XHR 时,它首先会使用 onreadystatechange 事件和 HTTP 状态 200(OK)将 readyState 设置为 4(完成),然后它会触发 onabort 和 onloadend 并将 readyState 重置为 0( unsent) ...但绝不会触发 onerror 事件。

非常混乱。

0 投票
1 回答
1229 浏览

javascript - XMLHttpRequest onreadystatechange readyState 1 和 2 之间的长时间延迟

我的 JS 代码正在发送请求并监视“xhr.onreadystatechange”。有时它会收集以下日志,这是预期的:

其他时候它会收集以下日志,这是不期望的:(在这种情况下,readyState 在我的应用程序超时之前的 22 秒内从未更改为 2)

我明白那个:

  • readyState 1 表示 xhr.open 被调用但 xhr.send 未被调用
  • readyState 2 表示已调用 xhr.send 并收到响应标头

我的问题是:如果 readyState 更改为 1 但从未更改为 2/3/4,那么我的 POST 请求实际上是:

  • 从未在线发送(xhr.send 尚未被调用)?如果是这样,可能是什么原因造成的?请求可以被浏览器 JS 引擎中的 xhr.send 丢弃吗?
  • 或者,发送到服务器但由于某种原因被卡在那里(因此响应标头尚未准备好)。

请注意,这是在 IE 11 上。

谢谢,

0 投票
1 回答
98 浏览

javascript - Uncaught TypeError when invoking callbacks

I had an error that I have managed to fix on my own. Can someone please explain to me why my code wasn’t working and the mechanics of what caused it.

Code is included below:

When I remove the success_cb callback from the onreadystatechange function definition the code works fine. Is this an issue that is related to scope?

0 投票
1 回答
307 浏览

javascript - IE11 readyState 总是“加载”,DOMContentLoaded 由于非 SSL 内容而永远不会触发

在 IE11 上,当您收到用户提示时

Only secure content is displayed. #Show all content#

readyState 永远不会改变,它总是开启loading并且事件也不会触发。一旦用户单击Show all content它就可以正常工作。

不幸的是,我有一个网站无法解析非 SSL 脚本和图像(第三方网站和用户内容),如果它没有加载也没关系,但我需要 DOMContentReady 事件来处理重要且安全加载的 JS。您知道任何解决方法吗?