-1

我正在寻找在 Javascript 中获取文本文件的内容以在之后对其进行解析。我知道如何用 Jquery 来做,我以前用 JSONP 调用 ajax 函数,但是,这次我想在没有任何框架的情况下做。

我做了很多尝试,但没有成功。这是最后一个版本:

var url = 'https://url.com/videosList.txt';

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = process;
xhr.open("GET", url, true);
xhr.send();

function process()
{
  if (xhr.readyState == 4) {
    console.log(xhr.responseText);
  }
}

代码似乎没问题,但我的浏览器(铬)返回我:

> XMLHttpRequest cannot load
> https://url.com/videosList.txt. Origin
> http://localhost:8888 is not allowed by Access-Control-Allow-Origin.
4

1 回答 1

1

默认安全设置下不允许跨站点脚本。如果请求的 URL 与页面来自的域相同,则您的代码将起作用。

如果您可以控制远程服务器,则可以在响应中添加标头:

Access-Control-Allow-Origin: *

但是 XMLHttpRequest 在不同的浏览器(主要是 IE)之间是(或曾经是)不同的。因此,这意味着您需要一个“库 shim”,以统一您的代码以克服这种不一致。如果可能的话,我会坚持使用 jQuery :)

这里还有一些参考资料:

http://www.cypressnorth.com/blog/programming/cross-domain-ajax-request-with-json-response-for-iefirefoxchrome-safari-jquery/

快乐的小径。

于 2013-05-08T13:44:29.040 回答