如何通过读取javascript中的文本文件来创建数组

如何通过读取javascript中的文本文件来创建数组,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个用逗号(,)分隔的亵渎词的文本文件。现在我必须通过读取这个文本文件来创建一个数组,每个亵渎词都应该存储到数组中。如果有人知道怎么做,请尽快回复我。 注意:我必须将此文件存储在我选择的任何位置。我唯一要做的就是,通过给出文件的完整路径来读取文本文件。解决方案不必使用javascript,您可以使用jquery或ajax解决方案进行回复。 谢谢。您不能从Javascript执行IO操作 你可以试试ajax 或jquery加载 请参阅此资源和代码,这是一篇关于此问题的非常棒的文章 从技术上讲

我有一个用逗号(,)分隔的亵渎词的文本文件。现在我必须通过读取这个文本文件来创建一个数组,每个亵渎词都应该存储到数组中。如果有人知道怎么做,请尽快回复我。 注意:我必须将此文件存储在我选择的任何位置。我唯一要做的就是,通过给出文件的完整路径来读取文本文件。解决方案不必使用javascript,您可以使用jquery或ajax解决方案进行回复。
谢谢。

您不能从Javascript执行IO操作

你可以试试ajax

或jquery加载


请参阅此资源和代码,这是一篇关于此问题的非常棒的文章


从技术上讲,您可以通过-

  • 将文件上传到服务器端代码,用json数组解析回来
  • def上传文件 data=params['fileToUpload']。读取 render:json=>data.split(“,”) 结束
  • 在客户端代码中
  • 
    

     <button onclick='return ajaxFileUpload();'>Ajax Read</button>
    
    Ajax读取
    

  • 在ajaxFileUpload()方法中处理返回数据

  • 您是否能够在读取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);
         });
    
      });
    
    });