2013-03-25 120 views
1

如何从当前目录使用没有jQuery的javascript读取文本文件(text1.txt)。我试了下面的代码。Javascript从当前目录中读取文本文件

var file = "text1.txt"; 
var reader = new FileReader(); 
var result = reader.readAsText(file); 
console.log(result); 
+1

发生了什么? – Thilo 2013-03-25 12:45:14

+2

你是什么意思到当前目录 – 2013-03-25 12:45:54

+1

用户必须首先“上传”该文件的页面,然后才能选择它。未经用户许可,您不能访问文件。或者是你的服务器上的文件?那么你需要Ajax,而不是FileReader。 – JJJ 2013-03-25 12:47:05

回答

6

FileReader API通常用于读取通过<input type="file">选择的文件。它无法读取任意文件。 readAsText method预计接收Blob或File对象,而不是包含文件名的字符串。

要阅读属于HTML文档的兄弟文件,请使用XMLHttpRequest。如果通过HTTP(S)加载文档,这将可靠地工作。如果您使用的是本地HTML文档(通过file: URI),那么许多浏览器中的安全限制将阻止其运行(并且您应该运行本地Web服务器)。

0

http://www.html5rocks.com/en/tutorials/file/dndfiles/解释如何去做。

它必须是在HTML5

+0

这对OP想要达到什么没有帮助。请参阅他们对以下问题的评论:*“不是由用户上传的文件,而是文本文件以及我的html文件和JavaScript文件在通用文件目录中的格式。”* – Quentin 2013-03-25 12:53:47

+0

请[仅限链接回答](http:///meta.stackoverflow.com/tags/link-only-answers/info) – Quentin 2013-03-25 12:54:08

0

请区分读取文件2种:

  • 读“互联网” - 用XMLHttpRequest读取任何类型的文件
  • 阅读“从客户端”的 - 使用FileReader或<input type="file">