2013-03-13 20 views
2

我一直在试图找到自己的答案,但已经来不及了。如何加载文件并查看其内容?

在HTML文件中使用JS/jQuery的,我需要:

  1. 当按下一个链接,它加载位于服务器上的文件。
  2. 在文件中搜索词x
  3. 如果该词不出现或只出现一次,则不执行任何操作。如果它出现2次或更多次打开y url。

现在我甚至无法正确加载文件作为变量。

这是我到目前为止已经试过:

var myvar = $.get("localhost/readme.txt").responseText; 
document.write(myvar); 
+0

我仍然试图加载文件。我试过var myvar = $ .get(“http://localhost/readme.txt”).responseText; document.write(myvar);和类似的东西,但使用“加载”功能。 – user2166038 2013-03-13 16:41:09

+0

我可能在这里错了,但是你可能需要一个http://在你的localhost之前。 – Paddy 2013-03-14 09:19:53

回答

0

你接近,你只是没有正确访问的responseText。另外,请勿使用document.write()输出测试数据,请使用控制台。

$.get("localhost/readme.txt").done(function(filecontents) { 
    console.log(filecontents); 
    // now you can search through filecontents as plain text. 
    if (filecontents.match(/myword/ig).length >= 2) { 
     alert("DO STUFF!"); 
    } 
}) 
3

不再适用于以下问题编辑...


无法通过JavaScript访问客户机的文件系统 - 见

Local file access with javascript

了解更多详情。

有与HTML 5来执行一些有限的支持,但可能不适合你的需求:

http://www.html5rocks.com/en/tutorials/file/filesystem/

+0

这不是这样做的:http://api.jquery.com/load/ – user2166038 2013-03-13 16:42:57

+0

由本地我的意思是在服务器上的文件,而不是在客户端计算机上,抱歉的错误,我已经编辑上面的帖子。 – user2166038 2013-03-13 16:44:01

+0

从链接处的文档“从*服务器*载入数据并将返回的HTML放入匹配的元素”。从远程服务器加载数据,而不是客户端。 – Paddy 2013-03-13 16:44:20