gpt4 book ai didi

javascript - XMLHttpRespone 为空且状态为 0

转载 作者:行者123 更新时间:2023-11-28 20:06:30 24 4
gpt4 key购买 nike

我正在尝试使用以下代码从 java 脚本解析 XML 文档

var xhr = new XMLHttpRequest();

xhr.onreadystatechange = function () {

if (this.responseXML != null) {
Caption(this.video, this.responseXML);
} else {
throw new Error("Can't read resource");
}

};
xhr.video = obj;

xhr.open("GET", "Br001.xml", true);
xhr.send("");

但我收到 status=0responseXML = NULL

后续:

按如下方式更改 onreadystatechange 后,我得到了 readyState=1 和 status=0 和 responsexml=NULL 并且只得到一个回调

xhr.onreadystatechange = function () {
if (this.readyState == 4
&& this.status == 200) {

if (this.responseXML != null) {
Caption(this.video, this.responseXML);
} else {
throw new Error("Can't read resource");
}
}
};

最佳答案

readyState 在得到响应之前会经历多个阶段。您必须等待readyState更改为4 :

xhr.onreadystatechange = function () {

if (this.readyState === 4) {
if (this.responseXML != null) {
Caption(this.video, this.responseXML);
} else {
throw new Error("Can't read resource");
}
}

};

最好检查一下 status (例如,确保它是 200 <= status < 300 (因为 2xx 是“ok”响应),尽管您的 this.responseXML != null 可能足以满足此用途。

关于javascript - XMLHttpRespone 为空且状态为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20720222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com