我正在尝试从 xml 加载我的数据。这是我的代码
function myFunction(){
debugger;
var url = "js/MyXml.xml";
var httpRequest = new XMLHttpRequest();
httpRequest.open('GET', url, true);
httpRequest.send();
var xmlDoc=httpRequest.responseXML;
}
在 httpRequest 中,我得到的状态代码是 httpRequest.responseXML = null
出租车,请你帮我看看我做错了什么。
最佳答案
在您的情况下,您使用了异步的 XMLHttpRequest 调用。此外,您尝试在实际答案到达之前将返回值分配给您的变量,无论它是读取文件还是来自服务器的实际响应。
无论如何,如果您决定使用异步(这是首选方式),请遵守下面提供的代码。 此外,我鼓励您在下面提供的链接中自行进行更多调查。
var url = "js/MyXml.xml";
var xhttp = new XMLHttpRequest();
var xmlDoc = null;
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
xmlDoc = httpRequest.responseXML;
}
};
xhttp.open("GET", url, true);
xhttp.send();
除此之外,您还可以 fetch ,它也应该在您的 javascript 环境中可用。根据 MDN,这仍是实验性技术,但它将提供有益的知识。
最后,对于手头的任务,您可以使用一个库,该库旨在使此任务比本地任务更容易 XMLHttpRequest .其中之一是 jQuery .它可能更容易使用。
您可以找到更多信息here .也很容易关注SO question .
关于javascript - 无法在普通 javascript 中从 xml 加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45054296/