如何通过读取javascript中的文本文件来创建数组
我有一个用逗号(,)分隔的亵渎词的文本文件。现在我必须通过读取这个文本文件来创建一个数组,每个亵渎词都应该存储到数组中。如果有人知道怎么做,请尽快回复我。 注意:我必须将此文件存储在我选择的任何位置。我唯一要做的就是,通过给出文件的完整路径来读取文本文件。解决方案不必使用javascript,您可以使用jquery或ajax解决方案进行回复。如何通过读取javascript中的文本文件来创建数组,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个用逗号(,)分隔的亵渎词的文本文件。现在我必须通过读取这个文本文件来创建一个数组,每个亵渎词都应该存储到数组中。如果有人知道怎么做,请尽快回复我。 注意:我必须将此文件存储在我选择的任何位置。我唯一要做的就是,通过给出文件的完整路径来读取文本文件。解决方案不必使用javascript,您可以使用jquery或ajax解决方案进行回复。 谢谢。您不能从Javascript执行IO操作 你可以试试ajax 或jquery加载 请参阅此资源和代码,这是一篇关于此问题的非常棒的文章 从技术上讲
谢谢。您不能从Javascript执行IO操作 你可以试试ajax 或jquery加载
请参阅此资源和代码,这是一篇关于此问题的非常棒的文章
从技术上讲,您可以通过-
<button onclick='return ajaxFileUpload();'>Ajax Read</button>
Ajax读取
您是否能够在读取CSV文件之前手动操作该文件?我有一个类似的问题,但是能够让生成它的人对它做一些事情,比如对
“
进行全局搜索/替换→ <代码>\'然后将内容包装到JS字符串变量中。然后我只是像其他JS文件一样包含了这个新文件
前
修改JS CSV:
var csvData = 'word,"multiple words",apostrophe\'s';
然后我使用samccone发布的Ben Nadel链接进行实际解析。这里是一个可以使用的jQuery+AJAX解决方案
//HTML
<input id="file" type="file" />
<input type="button" id="load" value="Load CSV" />
//JavaScript/jQuery
$(function () {
//Stop caching if csv is likely to change often (change $.get to $.ajax)
$.ajaxSetup({
cache: false
});
$('#load').click(function () {
$.get($('#file').val(), function (content) {
var output = content.split(new RegExp(",|\r"))
.map(function (element) {
//Do what ever tidy up here
return $.trim(element).toLowerCase();
});
console.log(output);
});
});
});
//HTML
//JavaScript/jQuery
$(函数(){
//如果csv可能经常更改,请停止缓存(更改$.get到$.ajax)
$.ajaxSetup({
缓存:false
});
$('#加载')。单击(函数(){
$.get($('#file').val(),函数(内容){
var输出=content.split(新的RegExp(“,| \r”))
.map(函数(元素){
//你在这里整理过什么
返回$.trim(element.toLowerCase();
});
控制台日志(输出);
});
});
});
在来自的CSV上测试
您可以使用类似这样的方法隐藏文件输入控件是否使用ajax加载文件?我确信JavaScript可以读取本地文件;只是不是在浏览器的上下文中(即不是客户端的文件):@alex it绝对可以。
word,"multiple words",apostrophe's
var csvData = 'word,"multiple words",apostrophe\'s';
//HTML
<input id="file" type="file" />
<input type="button" id="load" value="Load CSV" />
//JavaScript/jQuery
$(function () {
//Stop caching if csv is likely to change often (change $.get to $.ajax)
$.ajaxSetup({
cache: false
});
$('#load').click(function () {
$.get($('#file').val(), function (content) {
var output = content.split(new RegExp(",|\r"))
.map(function (element) {
//Do what ever tidy up here
return $.trim(element).toLowerCase();
});
console.log(output);
});
});
});