在javascript中读取文件并将其存储在数组中
首先,我用Javascript编程,但不是为网站或类似的东西。只是我电脑文件夹中的一个.js文件(稍后我会将该.js文件传递给其他人,以便他们可以使用它) 现在,我想读取与脚本位于同一文件夹中的txt文件,并将其内容存储在变量中。我想这样做: 然后,如果字符串(由用户输入,我已经介绍过了)包含数组中的子字符串,它将调用函数在javascript中读取文件并将其存储在数组中,javascript,arrays,file,Javascript,Arrays,File,首先,我用Javascript编程,但不是为网站或类似的东西。只是我电脑文件夹中的一个.js文件(稍后我会将该.js文件传递给其他人,以便他们可以使用它) 现在,我想读取与脚本位于同一文件夹中的txt文件,并将其内容存储在变量中。我想这样做: 然后,如果字符串(由用户输入,我已经介绍过了)包含数组中的子字符串,它将调用函数 你能帮帮我吗 如果不需要在broswer中运行,您可以使用node并使用fs来读取/写入文件 (文件系统): 如果需要在broswer中运行,可以使用和ajax 或者使用输
你能帮帮我吗 如果不需要在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文件中,该文件以idtheInput
的元素为目标,并在其上添加一个事件。因此,每当输入发生更改时,它都会使用输入元素的上下文调用checkInput
函数。您的脚本不需要位于.html文件中。它可以保存在自己的文件中,然后使用Tag加载到html文件中。我的意思是,该脚本不在网站中使用,也不通过web浏览器执行(还记得Windows Live Messenger吗?它在Escargot MSN服务器上再次激活,所以我正在为Messenger Plus编写一个插件,你还记得吗?它使用javascript)。无论如何,“输入”是由脚本中的另一个函数设置的。。。调试窗口显示“错误:未定义文档”:s