提问者:小点点

如何将文本文件的内容加载到javascript变量中?


我的web应用程序根目录中有一个文本文件http://localhost/foo.txt我想把它加载到javascript中的一个变量中。。在groovy中,我会这样做:

def fileContents = 'http://localhost/foo.txt'.toURL().text;
println fileContents;

如何在javascript中获得类似的结果?


共3个答案

匿名用户

XMLHttpRequest,即AJAX,没有XML。

你这样做的确切方式取决于你使用的JavaScript框架,但是如果我们忽略互操作性问题,你的代码看起来会像:

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

不过,通常来说,XMLHttpRequest并不是在所有平台上都可用,所以需要做一些修改。同样,最好的选择是使用像jQuery这样的AJAX框架。

另外一个需要考虑的问题是:这只在foo的时间内有效。txt在同一个域上。如果它位于不同的域上,则同源安全策略将阻止您读取结果。

匿名用户

下面是我在jQuery中是如何做到的:

jQuery.get('http://localhost/foo.txt', function(data) {
    alert(data);
});

匿名用户

fetch('http://localhost/foo.txt')
  .then(response => response.text())
  .then((data) => {
    console.log(data)
  })

https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API