2016-04-28 393 views
-3

你可以用JavaScript代碼中的文件路徑讀取一個txt文件嗎?不要通過從打開的文件窗口中選擇文件。用javascript讀取.txt文件

+0

利用XHR的加載它。 – Nonemoticoner

+1

是的,你可以,它叫做ajax,或者更具體的XMLHttpRequest,祝你好運 – adeneo

+0

http://stackoverflow.com/questions/14446447/javascript-read-local-text-file –

回答

1

如果文本文件是本地或專用PC

上正如你可能知道,如果你能讀取存儲在用戶的文件系統,大家一文本文件將能夠在短期竊取私人數據,所以不,你不能

如果你的文本文件是在服務器上

AJAX

function ajax(a,b,c){ // Url, Callback, just a placeholder 
c=new XMLHttpRequest; 
c.open('GET',a); 
c.onload=b; 
c.send() 
} 

如何使用:

ajax('http://YOURSERVER/yourtextfile.txt',function(){ 
alert(this.response); 
}); 

more about the above function

如果你的文本文件是不同的服務器

當托盤訪問其他服務器使用Ajax you need to be allowed訪問該文件上。有些網站允許通過返回

Access-Control-Allow-Origin: * 

在響應heaeders.so上面的ajax函數可以正常工作。


然後還有其他的方法來從你或其他,我更喜歡AJAX服務器獲取數據:

websockets & SSE ..但那些需要像PHP或一個的NodeJS特定接口。

另一種選擇是,如果該文件是在您的私人PC,你只是想送存儲在一個特定的文本文件的一些數據每次更新:

只要安裝nodejs或免費的PHP服務器並創建某種類型的cron作業每隔一段時間檢查一次特定的文件夾。當文件更新時,只需將其發送到您的在線服務器。在線主機至少需要PHP ASP或某種服務器端腳本。

0

你可以使用XHR(XML Http Request)。以下是讀取'.txt'文件的示例。您可以在html文件中找到該文件,並且需要使用NodeJSPython簡單服務器或您所熟悉的任何其他服務器來運行簡單的服務器。

如果有蟒:

python -m SimpleHTTPServer 8000 

實施例(readtxt。HTML):

<script type="text/javascript"> 
var request = new XMLHttpRequest(); 
request.open('GET', 'filename.txt', false); // `false` => synchronous request 
request.send(null); 

if (request.status === 200) { 
    console.log(request.responseText); 
} 
</script> 

公開賽: http://localhost:8000/readtxt.html

檢查從TXT文件中讀取內容瀏覽器控制檯。

您可以閱讀更詳細的信息,

https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Synchronous_and_Asynchronous_Requests#Asynchronous_request