如何在javascript中将文本文件中的数据加载到变量中

时间:2017-08-17 00:47:20

标签: javascript xmlhttprequest

我只是想做一些简单的事情。我想要做的就是将文本文件的内容加载到变量中。文本文件只有一行,并且始终是一个字符串。我知道还有其他线程提出同样的问题,但截至目前,我得到的最接近的答案是:

var client = new XMLHttpRequest();
client.open('GET', '/foo.txt');
client.onreadystatechange = function() {
   alert(client.responseText);
}
client.send();

这个问题是我试图将信息加载到变量中。不要将其作为警报发送。我试过这个:

var string;
var client = new XMLHttpRequest();
client.open('GET', '/foo.txt');
client.onreadystatechange = function() {
   string = client.responseText;
}
client.send();

这也不起作用。

这不是this post的重复,因为该帖子专注于Ajax,并没有真正回答如何导入信息。我没有使用Ajax。我希望文件中的信息可以在程序的其他地方使用。

1 个答案:

答案 0 :(得分:0)

很明显,您正在尝试向用户的本地计算机发出HTTP请求,并且出于显而易见的原因 - 浏览器不允许这样做!否则,如果他们想要,黑客就能够读取用户C驱动器的全部内容 - 或者更糟糕!

所以 - 你需要上传文件!即<input type="file" id="uploadFile" />选中此JSFiddle,即可使用onChange event of the input to read the file

对于类似的情况,我使用文件上传到服务器并使用PHP / c#(不记得我的头脑)返回所需的数据 - 这使事情实际上更容易 - 服务器将收到文件并验证,提取所需的信息并仅返回所需的数据 - 虽然它似乎在服务器端更多工作 - 它可以更多一点,你可以计划它,以减少你可能要编写的javascript代码的数量。 / p>