读取本地文本文件 JavaScript [重复]
Posted
技术标签:
【中文标题】读取本地文本文件 JavaScript [重复]【英文标题】:Read local txt file JavaScript [duplicate] 【发布时间】:2018-07-09 19:37:32 【问题描述】:我试图在 JS 中读取 txt 文件。 所以我使用this 代码。
我的 txt 文件看起来:["187.48.35.40"]
我的应用程序正在谷歌地图上搜索 IP 地址。
当我输入我的代码时:var ip = ["187.48.35.40"];
我的程序运行良好,但我想用 IP 地址打开 txt 文件。
function readTextFile(file)
var rawFile = new XMLHttpRequest();
rawFile.open("GET", file, false);
rawFile.onreadystatechange = function ()
if(rawFile.readyState === 4)
if(rawFile.status === 200 || rawFile.status == 0)
var allText = rawFile.responseText;
alert(allText);
rawFile.send(null);
var ip = readTextFile("xxx.txt");
但我的应用程序无法读取 txt 文件。
【问题讨论】:
您是否遇到任何错误? 没有任何错误。 根据您链接的代码,您必须提供完整的文件 url,包括file://
协议部分。请记住,这仅适用于本地文件。如果您希望文件位于服务器上,则必须相应地设置服务器并使用服务器上文件的 url。
Chrome 会认为这是一个“跨源请求”,并拒绝它。 Firefox 将允许它,前提是该文件与运行脚本的 html 文件位于同一文件夹中。 file:///
协议没有明确定义什么是跨源的。将脚本移动到服务器(可以是 localhost)。
XMLHttpRequest
不起作用,除非您通过 HTTP 或 HTTPS 从服务器请求。即使您希望它在本地运行,您也必须运行本地 Web 服务器并针对它提出请求。因此,资源的位置也必须以协议为前缀(即http://
或https://
)。
【参考方案1】:
XMLHttpRequest
不起作用,除非您通过 HTTP 或 HTTPS 从服务器请求。即使您希望它在本地运行,您也必须运行本地 Web 服务器并针对它提出请求。因此,资源的位置也必须以协议为前缀(即http://
或https://
)。
【讨论】:
以上是关于读取本地文本文件 JavaScript [重复]的主要内容,如果未能解决你的问题,请参考以下文章