javascript - 无法在普通 javascript 中从 xml 加载数据

标签 javascript html xml

我正在尝试从 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/

相关文章:

xml - xsl获取子节点

javascript - Angular 2 中的变量内部函数

html - 正确对齐我的页面标题

javascript - 单击 <a> 时隐藏 <p> 并显示 &lt;textarea&gt;

javascript - 使用 JavaScript 更改 Facebook 标题文本

javascript - 在 `Focusout` true 上的表 td 上使用 `contenteditable = "

mysql - 如何导入部分xml到mysql表?

android - 如何在 Eclipse 中更改应用程序主题

javascript - Node-SASS 源映射不适用于 React-JS

javascript - 在 JavaScript 中四舍五入到最接近的小数点后的百分之一