为什么我在 JavaScript 中读取 XML 文件时得到空结果
Why am I getting a null result when reading an XML file in JavaScript?
我有以下代码:
function loadXMLDoc() {
var xhr = XMLHttpRequest();
xhr.onreadystatechange = function () {
//read the file and get results
getDomicilesFromXML(xhr); //separate function (this is not the problem)
};
xhr.open('GET', TheXMLFile.xml', false);
xhr.send();
}
此函数在网页的初始化函数中调用。"TheXMLFile"是位于我网站的根项目目录中的XML文件。它似乎没有读取文件,因为结果始终为 null。我错过了什么吗?
在
准备好读取响应之前,onreadystatechange
会反复触发几次。您需要检查xhr.readyState
以查看它是否已准备就绪,status
查看它是否成功。
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
if (xhr.status == 0 || (xhr.status >= 200 && xhr.status < 300)) {
//read the file and get results
getDomicilesFromXML(xhr); //separate function (this is not the problem)
}
}
};
(xhr.status == 0
是一种解决方法,我不确定这些天我们仍然需要,一些浏览器[过去?]使用缓存的响应来做到这一点。
我建议从您的open
电话中删除false
。强制 HTTP 请求同步几乎从来都不是必需的,并且在请求期间会锁定浏览器的 UI。
相关文章:
- webpack代码拆分了handlerbs文件——结果是文件很大
- 在IntelliJ IDEA中,如何将JS文件从“;查找用法“;使用TypeScript时的结果
- 使用blob从ajax结果下载文件
- 一个javascript实现base64图像编码并将结果写入文本文件
- 在页面对象文件中验证sendKeys结果会导致未定义的错误(Protractor)
- 如何使用node.js和express在文件中写入结果
- 搜索XML文件并使用javascript显示结果
- 如何将 JavaScript 中 HTML 的结果写入文件
- 如何将结果从 Javascript 导出到 csv 文件
- 迭代 JSON 文件并且未在 Javascript 中正确返回结果
- HTML5 文件阅读器如何返回结果
- NodeJS中的Parse Json文件在Node中显示意外结果
- 读取一个本地文件,编码为base64,我想给用户一个将结果保存到文件的选项
- jquery我应该如何在多个html文件中实时搜索结果
- 如何在javascript变量中获取php文件的结果
- 使用AJAX上传文件、处理并使用Flask将结果返回到Javascript
- 在使用Protractor进行测试时,我可以用json文件替换结果,而不是调用实际的REST端点
- 如何从批处理文件调用一个带有2个参数的java脚本函数,并将结果返回到环境变量
- 谷歌浏览器开发人员工具 - 分析结果文件格式
- 为什么是结果文件.getElementById在本例中为null