2017-09-12 146 views
0

我很驚訝地發現這很難做到,但我還沒有找到一種方法來做到這一點。 基本上我有一個包含目錄:將本地xml文件讀取到Javascript中的字符串中

--index.html 
--script.js 
--file.xml 

,我想讀file.xml的一個JS字符串解析的內容。 我發現這樣做的唯一方法是使用一個在瀏覽器中默認禁用的同步xmlhttp對象。 有沒有另一種(最好是簡單的)將文件讀入js中的字符串的方法?

+0

您需要使用異步Ajax。如果你想簡單,我會建議使用jQuery它有一個不錯的加載功能。 http://api.jquery.com/load/ –

回答

0

所以,我可能會晚一點參加派對,但這是爲了幫助其他任何正在抓緊他/她的頭髮尋找解決方案的人。

首先,如果您沒有將HTML文件從服務器上運行,則需要在瀏覽器中允許CORS。其次,我發現大多數人在這類線程中引用的代碼片段不適用於加載本地XML文件。試試這個(從官方文檔所採取的示例):

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); 

的方法(1 ARG)在xhr.open如果你指的是本地文件將被忽略,和異步(第三個參數)爲真默認,所以你真的只需要指向你的文件,然後解析結果! =)

祝你好運!

相關問題