2011-09-10 293 views
5

我用下面的代碼從javascript閱讀文件

var filePath = "SBL_PROBES.txt"; 
    xmlhttp = new XMLHttpRequest(); 
    xmlhttp.open("GET",filePath,false); 
    xmlhttp.send(null); 
    var fileContent = xmlhttp.responseText; 
    var fileArray = fileContent.split('\n') 
    var n = fileArray.length; 

事情去精細讀文件,我可以從fileArray訪問該文件的內容。但在Firefox的錯誤控制檯上出現錯誤,抱怨文件第1行的內容。我不希望JavaScript或Firefox解釋的文件,我想要的只是我用javascript解析的內容。

Firefox的控制檯說

錯誤:語法錯誤 源文件:文件:/// C:/Documents%20and%20Settings/Mike/Desktop/mustache/SBL_PROBES.txt 線:1,列: 1個 源代碼: 「稱號」,「短名稱」,「長名稱」,「當前」,「最大」,「最小」,「日最大」,「天民」

如果我把<blockquote> </blockquote>的文件,錯誤消失!

這是怎麼回事,我該如何解決?

我是否需要做任何事情來關閉文件?當這些變量超出範圍時會清理掉東西嗎?

+0

抱怨究竟是什麼,錯誤信息是什麼?無論如何,使用像jQuery這樣的Ajax操作框架可能更加可行:http://api.jquery.com/jQuery.ajax/可以消除跨瀏覽器的不一致性 –

+0

什麼是錯誤?在Chrome中是否也發生同樣的情況? –

+0

此文件位於何處?您需要將完整的URL作爲「xmlhttp.open()'的第二個參數。像'xmlhttp.open(「GET」,「http://mydomain.com/SBL_PROBES.txt」,false)'; – styfle

回答

13

這應該修復它:

xmlhttp.overrideMimeType('text/plain'); 

默認情況下,它似乎是本地文件與XMLParser的解析。

+1

是的,它確實修復它!非常感謝!我想我會在我的文件中留下

標記來標記開始和結束,這也使它們可以顯示。我的解析器可以忽略它們。 –