作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 javascript 从 XML 文件中获取信息,但我遇到了一个错误,我无法自己解决...“无法调用 null 的方法‘getElementsByTagName’”
我认为这是我的 XML 中的问题,但我不知道问题出在哪里
这是我的 JavaScript
var map;
var mod;
var xmlDoc;
var xhr = new XMLHttpRequest();
xhr.overrideMimeType("text/xml");
xhr.open('GET' , 'streamcontrol.xml');
xhr.send();
xhr.onreadystatechange = function(){
xmlDoc = xhr.responseXML;
map = xmlDoc.getElementsByTagName('mapname');
map = xmlDoc.getElementsByTagName('modname');
}
还有我的 Xml
<!DOCTYPE StreamControl>
<items>
<timestamp>1408381485</timestamp>
<mapname>hijacked</mapname>
<modname>retd</modname>
</items>
最佳答案
在 onreadystatechange 函数中,也许你应该检查就绪状态:
var map;
var mod;
var xmlDoc;
var xhr = new XMLHttpRequest();
xhr.overrideMimeType("text/xml");
xhr.open('GET' , 'streamcontrol.xml');
xhr.send();
xhr.onreadystatechange = function(){
if (xhr.readyState==4 && xhr.status==200)
{
xmlDoc = xhr.responseXML;
map = xmlDoc.getElementsByTagName('mapname');
map = xmlDoc.getElementsByTagName('modname');
}
}
readyState 保存 XMLHttpRequest 的状态:
0: request not initialized
1: server connection established
2: request received
3: processing request
4: request finished and response is ready
一切正常时状态为200,未找到404...
关于javascript - XML : Cannot call method 'getElementsByTagName' of null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25405895/
我是一名优秀的程序员,十分优秀!