【发布时间】: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://)。
标签: javascript