2013-07-27 35 views
3

我有一個數組稱爲items=["apple","mango","cherry"];如何從文本文件加載數據到JavaScript數組?

我不知道我可以加載從文本文件中的陣列數據,而不是宣佈它?文本文件數據存儲這樣的「蘋果」,「芒果」,「櫻桃」,。

此外,如何在此文本文件末尾添加一個項目,例如在「櫻桃」之後添加「橙色」?

items=["apple","mango","cherry"]; 
    if (items.indexOf(myVariable2) == -1) { 

    // not found, so output it 
     t++; 

    document.myform3.outputtext3.value +=myVariable2+"\n"; 

    } 
+1

你的文本文件存儲在哪裏? –

+0

那麼文本文件本地還是服務器上?您的問題缺少這個重要部分... –

+0

首先如果可能的話,將數據存儲爲JSON。然後,按照[this](http://stackoverflow.com/a/8951858/1725764)加載文件內容並將其解析爲JSON。 [jQuery參考](http://api.jquery.com/jQuery.getJSON/)。 –

回答

0
var file = event.target.file; 
var reader = new FileReader(); 
var txt=reader.readAsText(file); 
var items=txt.split(","); 
+0

加載**文本文件**中的數據的位在哪裏? –

+0

感謝您的回覆。那就是如何將數據從文本文件加載到數組的問題? – user1788736

+0

以爲你已經覆蓋了那部分,使用''? – rps

3

很抱歉,但我不認爲這是相當簡單。出於安全原因,瀏覽器限制對本地驅動器(以及服務器驅動器)的訪問。

但使用訪問文本文件的一種方法jQuery的是

jQuery.get('http://localhost/foo.txt', function(data) { 
    var myvar = data; 
}); 
+1

感謝您的回覆。所以你認爲它不可能從txt文件加載?如何從cookie文件或textarea加載? myvar可以在jquery.get之外使用?怎麼樣? – user1788736

+0

@ user1788736只需在.get之前聲明該變量,而在get之內,而不是使用'var myvar',則使用'myvar' – DrunkWolf

4

使用jQuery你可以做這樣的事情

$.get("textFile.txt", function(data) { 
     var items = data.split(','); 
    }); 

您可能需要這樣的事情雖然

var items = data.replace(/"/g, '').split(','); 

這是一個開始。

如果這是一個用戶輸入文件,那麼在使用它之前您可能需要上傳它。

+0

必須使用replace()的正則表達式或者只有第一次出現纔會被替換 –

+0

Thanks @roasted ... – iConnor

+0

connor這個腳本只是由我運行,我只是想讓自己的生活更輕鬆,而不是手動輸入新的數據結束數組!我只是在尋找從txt文件讀取和寫入的方式。可能是我從textarea加載數據,但不知道如何! – user1788736

相關問題