2013-03-13 48 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