使用Javascript从客户端的服务器打开文本文件

时间:2013-07-18 21:57:18

标签: javascript html file fileapi

无论我看多少,我得到的是w3C File API,它专注于客户端的本地文件。

我想做的是我有一台服务器。我正在尝试使用客户端javascript来获取服务器托管的文本文件a.txt,并将其显示到html页面的innerDOM。我的服务器目录如下所示:

  • 的index.html
  • read.js
  • 文本文件
    • A.TXT

我希望发生的一切是在客户端,在onload上的index.html中运行的javascript read.js显示a.txt的内容。我认为,因为a.txt永远不会很大,所以把它留给客户端就好了。 但我无法弄清楚如何做到这一点,W3C File API没有给我答案。

如果我不得不猜测,以某种方式确保index.html加载a.txt然后通过文件API抓取它可能是要走的路,但我不知道该怎么做。

我承认,我有点像菜鸟。如果我使浏览器沙箱无效或做不可能的事情,请告诉我。我只是觉得这很简单。

另外,我很感激,如果你打算建议AJAX,或者不要,或者解释一下,因为我真的不知道。

非常感谢你的帮助。

4 个答案:

答案 0 :(得分:2)

为什么文件API无关紧要:

  

Web应用程序应该能够尽可能广泛地操作一系列用户输入,包括用户可能希望上传到远程服务器或在富Web应用程序内操作的文件。

来自W3C File API

因此,File API旨在用于允许用户文件从其客户端上传到服务器中。另一方面,AJAX用于允许用户从服务器下载文件和其他数据到他们的客户端。这正是你所需要的。

请参阅jQuery's ajax documentation

答案 1 :(得分:1)

答案 2 :(得分:1)

我建议对服务器上的文件使用Ajax调用,因为调用的响应通常是该文件的内容。 使用Jquery可以通过简单的

来完成
$.ajax({ 'url':'a.txt',
    'success': function(r){
        //display to innerDOM here, using r as the file
    });
});

答案 3 :(得分:1)

您只想在网页上显示txt文件? 你知道服务器端包括吗? 如果您控制服务器,这将是一种可能性。 如果你真的想用javascript来做,那么AJAX就是你要走的路。 如果是我那时我会想出如何包含和使用jQuery来帮助ajax位。 您只需通过其URL请求文本文件(您可以在浏览器中加载它吗?),然后使用jQuery将该文本放入某个DOM元素。