Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中读取文件并将其存储在数组中_Javascript_Arrays_File - Fatal编程技术网

在javascript中读取文件并将其存储在数组中

在javascript中读取文件并将其存储在数组中,javascript,arrays,file,Javascript,Arrays,File,首先,我用Javascript编程,但不是为网站或类似的东西。只是我电脑文件夹中的一个.js文件(稍后我会将该.js文件传递给其他人,以便他们可以使用它) 现在,我想读取与脚本位于同一文件夹中的txt文件,并将其内容存储在变量中。我想这样做: 然后,如果字符串(由用户输入,我已经介绍过了)包含数组中的子字符串,它将调用函数 你能帮帮我吗 如果不需要在broswer中运行,您可以使用node并使用fs来读取/写入文件 (文件系统): 如果需要在broswer中运行,可以使用和ajax 或者使用输

首先,我用Javascript编程,但不是为网站或类似的东西。只是我电脑文件夹中的一个.js文件(稍后我会将该.js文件传递给其他人,以便他们可以使用它)

现在,我想读取与脚本位于同一文件夹中的txt文件,并将其内容存储在变量中。我想这样做: 然后,如果字符串(由用户输入,我已经介绍过了)包含数组中的子字符串,它将调用函数


你能帮帮我吗

如果不需要在broswer中运行,您可以使用node并使用fs来读取/写入文件

(文件系统):

如果需要在broswer中运行,可以使用和ajax


或者使用输入类型=文件并使用

当我们在评论中回答您问题的第一部分时,以下是我对您问题的第二部分的解决方案

您可以在输入上添加事件侦听器,并根据数组中的值检查用户输入。我可能误解了你所说的“子字符串”的确切含义

var myData=[“世界”、“一”、“二”、“蓝色”];
document.getElementById('theInput')。addEventListener('input',checkInput);
函数checkInput(){
var输入=此值;
if(myData.indexOf(输入)>-1){
log(“匹配!”)
//调用你的函数
}
}

浏览器/javascript无法访问文件系统。您的web服务器必须提供json文件,或者让用户显式上传文件。谢谢您的回答,我会找到一种方法将内容存储到其他地方,而不是txt文件:)除此之外。。。你知道这篇文章的其他部分吗?提前感谢您检查建议使用fetch api的答案,似乎预示着…@sinisake我在尝试该方法时出错。也许它已经过时了<代码>加载失败file:///C:/Users/ME/Downloads/test.txt: 跨源请求仅支持协议方案:http、data、chrome、chrome extension、https。从ChromeAs中我看到了答案中的注释,似乎其他人也看到了相同的问题,代码的第二行(document.getElementById…)是什么?顺便说一句,我的脚本不在一个html文件中,该文件以id
theInput
的元素为目标,并在其上添加一个事件。因此,每当输入发生更改时,它都会使用输入元素的上下文调用
checkInput
函数。您的脚本不需要位于.html文件中。它可以保存在自己的文件中,然后使用Tag加载到html文件中。我的意思是,该脚本不在网站中使用,也不通过web浏览器执行(还记得Windows Live Messenger吗?它在Escargot MSN服务器上再次激活,所以我正在为Messenger Plus编写一个插件,你还记得吗?它使用javascript)。无论如何,“输入”是由脚本中的另一个函数设置的。。。调试窗口显示“错误:未定义文档”:s