2012-11-29 88 views
3

我想知道是否有某種方法可以實時從Javascript讀取.txt文件? 我有一個日誌文件,每隔幾秒更新一次。我想從日誌文件中解析一些數據,因爲它會更新並在html中顯示它。 我可以這樣做嗎? 非常感謝你們!用Javascript實時讀取txt文件

+0

該日誌文件存儲在哪裏? – slhck

+0

鮮爲人知的一點點冷靜:如果日誌文件在您的計算機上,您可以使用將其上傳到js。然後,每次在其上使用新的FileReader()時,它都會從磁盤重新載入新的副本,包括單擊輸入後所做的任何更改。 – dandavis

回答

5

假設該文件是某個地方公開訪問,你可以有一個JavaScript函數,這使得AJAX請求每隔幾秒鐘就可以讀取該文件。像下面這樣:

function getLog() { 
    $.ajax({ 
     url: 'logfile.txt', 
     dataType: 'text', 
     success: function(text) { 
      $("#containerDiv").text(text); 
      setTimeout(getLog, 30000); // refresh every 30 seconds 
     } 
    }) 
} 

getLog(); 
+0

謝謝Rory!該文件大約有16 MB ...這是一個問題嗎?再次感謝! –

+0

哇,16Mb是巨大的,將是一個問題。您應該嘗試將請求的數據限制在最大500k範圍內的某個地方。 –

+0

當ajax讀取它時,服務器可以添加一些新的行嗎? –

0

不,你不能用Javascript讀/寫文件,因爲這將是一個可怕的安全問題。

但是,就你而言,你可以使用一些Ajax調用服務器端腳本。

+6

的確有可能。請參閱[本草稿](http://www.w3.org/TR/FileAPI/)@ W3C。並看看[這篇文章](http://www.html5rocks.com/en/tutorials/file/dndfiles/)。 –