Javascript解析文本数据错误?

Javascript解析文本数据错误?,javascript,parsing,filereader,papaparse,Javascript,Parsing,Filereader,Papaparse,我正试图解析本地目录中的一些数据。 我使用papa解析器来做这件事。 问题是我无法将文本文件分配到变量中。我得到了这个错误 未捕获类型错误:未能在“FileReader”上执行“readAsText”:参数1不是“Blob”类型。 我已经搜索过了,我发现在使用HTML文件阅读器读取文件时,这是一个非常常见的错误 我的代码是 解析示例 点击按钮上传 负载 var x; 变量配置={ 分隔符:“”,//自动检测 换行:,//自动检测 标题:对, 动态打字:错误, 预览:0, 编码:“, 工人:错

我正试图解析本地目录中的一些数据。 我使用papa解析器来做这件事。 问题是我无法将文本文件分配到变量中。我得到了这个错误

未捕获类型错误:未能在“FileReader”上执行“readAsText”:参数1不是“Blob”类型。

我已经搜索过了,我发现在使用HTML文件阅读器读取文件时,这是一个非常常见的错误

我的代码是


解析示例
点击按钮上传

负载 var x; 变量配置={ 分隔符:“”,//自动检测 换行:,//自动检测 标题:对, 动态打字:错误, 预览:0, 编码:“, 工人:错, 评论:错, 步骤:未定义, 完成:未定义, 错误:未定义, 下载:对, skipEmptyLines:错误, 块:未定义, fastMode:未定义, beforeFirstChunk:未定义, withCredentials:未定义 }; 函数myFunction(){ x=document.getElementsByName(“数据文件”); myfile=Papa.parse(x,config); document.getElementById(“demo”).innerHTML=myfile; }

  • getElementsByName
    返回始终返回匹配元素的节点列表集合,所以基本上您可以只选择第一个:
    x=document.getElementsByName(“数据文件”)[0]

  • Papa.parse
    要求它的第一个参数是字符串或
    文件
    对象<代码>文件对象可以从
    文件列表
    中获得,它存储在文件输入的
    文件
    属性中。因此,基本上(如果在输入中选择了文件,它应该可以工作):
    x=document.getElementsByName(“数据文件”)[0]。文件[0]

  • 正如前面所说的那样,
    Papa.parse本身不返回任何内容,您应该提供回调来获取数据。因此,如果将
    config
    对象中的
    complete:undefined
    替换为

    complete: function(data) {
        console.log(data);
    }
    
    您将在浏览器控制台中显示数据


  • 它已经起作用了,但是如果一开始我有一个更长的文档呢?我需要一个for循环来获取每一行吗?我不明白这个问题,你能解释一下吗?代码已经运行了。但不是我想要的方式。我没有收到任何错误,我的数据也没有读取。读取数据后,我得到一个空的数组状对象。我在问是因为线条结构吗?例如,我应该写一个循环,比如;对于i=0到line_lenght line(i)=x=document.getElementsByName(“数据文件”)[i].files[i]我已经更新了答案:您必须使用回调来获取数据。前两部分与行结构无关:第一部分只是关于获取HTML节点,您可以使用
    document.getElementById
    方法,它返回单个节点,第一个
    [0]
    可能会被丢弃。第二部分是关于从文件输入中获取文件对象