2013-07-27 39 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

相关问题