将本地xml文件读取为Javascript中的字符串
我惊讶地发现这很难做到,但我还没有找到一种方法来做到这一点。 基本上,我有一个包含以下内容的目录:将本地xml文件读取为Javascript中的字符串,javascript,Javascript,我惊讶地发现这很难做到,但我还没有找到一种方法来做到这一点。 基本上,我有一个包含以下内容的目录: --index.html --script.js --file.xml 我想将file.xml的内容读入JS字符串进行解析。 我找到的唯一方法是使用同步xmlhttp对象,该对象在我的浏览器中默认禁用。 在js中是否有另一种(最好是简单的)将文件读入字符串的方法?因此,我可能会晚一点参加聚会,但这是为了帮助那些一直在寻找解决方案的人 首先,如果您没有在服务器上运行HTML文件,那么浏览器中需要允
--index.html
--script.js
--file.xml
我想将file.xml的内容读入JS字符串进行解析。
我找到的唯一方法是使用同步xmlhttp对象,该对象在我的浏览器中默认禁用。
在js中是否有另一种(最好是简单的)将文件读入字符串的方法?因此,我可能会晚一点参加聚会,但这是为了帮助那些一直在寻找解决方案的人 首先,如果您没有在服务器上运行HTML文件,那么浏览器中需要允许CORS。其次,我发现大多数人在这类线程中引用的代码片段不适用于加载本地XML文件。试试这个(来自官方文档的示例):
var xhr=new-XMLHttpRequest();
open('GET','file.xml',true);
xhr.timeout=2000;//以毫秒为单位的时间
xhr.onload=函数(){
//请求已完成。请在此处进行处理。
var xmlDoc=this.responseXML;//所以,我参加聚会可能会晚一点,但这是为了帮助那些一直在寻找解决方案的人
首先,如果您没有在服务器上运行HTML文件,则浏览器中需要允许CORS。其次,我发现大多数人在此类线程中引用的代码片段不适用于加载本地XML文件。请尝试以下操作(示例取自官方文档):
var xhr=new-XMLHttpRequest();
open('GET','file.xml',true);
xhr.timeout=2000;//以毫秒为单位的时间
xhr.onload=函数(){
//请求已完成。请在此处进行处理。
var xmlDoc=this.responseXML;//您需要使用异步Ajax。如果您想要简单,我建议使用jQuery,它有一个很好的加载函数。您需要使用异步Ajax。如果您想要简单,我建议使用jQuery,它有一个很好的加载函数。如果在最后一行xhr.send(null)处出现错误,这是行不通的如果在最后一行xhr.send(null)处出现错误,则此操作无效
var xhr = new XMLHttpRequest();
xhr.open('GET', 'file.xml', true);
xhr.timeout = 2000; // time in milliseconds
xhr.onload = function () {
// Request finished. Do processing here.
var xmlDoc = this.responseXML; // <- Here's your XML file
};
xhr.ontimeout = function (e) {
// XMLHttpRequest timed out. Do something here.
};
xhr.send(null);