gpt4 book ai didi

javascript - 为什么 XMLHttpRequest 返回 null?

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

这有点奇怪。我在不同的计算机上运行这个脚本并得到不同的结果。 在一台计算机上,此代码有效但在另一台计算机上无效。这是我的 js 代码:

xmlDoc = loadXmlDoc();
printSubClassOf();

function loadXmlDoc(){
var xmlDom = null;
var xhttp = new XMLHttpRequest();

xhttp.open("GET", "resto.owl", false);
xhttp.send(null);
xmlDom = xhttp.responseXML;
return xmlDom;
}

function printSubClassOf(){
a = xmlDoc.getElementsByTagName("SubClassOf");

for(i = 0; i < a.length; i++){
b = xmlDoc.getElementsByTagName("SubClassOf")[i].childNodes;

for(j = 0; j < b.length; j++){
c = xmlDoc.getElementsByTagName("SubClassOf")[i].childNodes[j];

document.write(i + " " + j + " " + c.nodeName + "<br>");
}
}
}

这是我尝试解析的 XML。

<Ontology>
<SubClassOf>
<Class IRI="#Chef"/>
<Class IRI="#Employee"/>
</SubClassOf>
<SubClassOf>
<Class IRI="#Customer"/>
<Class IRI="#People"/>
</SubClassOf>
</Ontology>

我使用 Chrome 开发者工具查看发生了什么。有一个带有 200 状态代码的 XHR 请求,但仍然出现此错误。

a = xmlDoc.getElementsByTagName("SubClassOf");
Uncaught TypeError: Cannot call method 'getElementsByTagName' of null

我认为 printSubClassOf()loadXmlDoc() 返回 XML 之前完成。你怎么认为?以及如何解决这个问题?仅供引用:我在本地主机上运行了这个。

最佳答案

您的 xml 无效。需要有一个根节点才能成为有效的 xml。仅当响应是有效的 xml 时才会填充 responseXML。

关于javascript - 为什么 XMLHttpRequest 返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15752134/

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