无法从本地文件:///或本地Web服务器获取XMLHttpRequest的响应

时间:2013-07-30 19:51:54

标签: javascript xmlhttprequest cors

我想开发一个小型RSS阅读器,它将从各种网站获取XML文档。 我认为XHR会很简单,如果用户可以操纵浏览器UI来获取明显的“Cross Origin”网页,那么JavaScript代码是否应该能够轻松实现?显然没有:/

这是我正在尝试做的事情:

var xhr = new XMLHttpRequest();
    // A real feed URL, its web server should allow CORS
    xhr.open('GET', 'http://feeds2.feedburner.com/thenextweb');
    xhr.send();

在本地打开我的HTML页面(file:///)会使Origin为null并且响应为空,但如果我通过本地Web服务器访问该页面(我尝试过Python和Node服务器脚本),则Origin不为null但是反应仍然是空的。

我知道周围有足够的XHR问题,但有人可以指出我错过了什么吗?

1 个答案:

答案 0 :(得分:3)

Feedburner不支持CORS(尚未)。这些是我从jsfiddle执行代码时从feedburner收到的标题:

HTTP/1.1 200 OK
Content-Type: text/xml; charset=UTF-8
ETag: ckkcnAejDTcF+4d0Kj6kftZuq+0
Last-Modified: Tue, 30 Jul 2013 19:56:16 GMT
Content-Encoding: gzip
Transfer-Encoding: chunked
Date: Tue, 30 Jul 2013 19:58:11 GMT
Expires: Tue, 30 Jul 2013 19:58:11 GMT
Cache-Control: private, max-age=0
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Server: GSE

如果它支持CORS,你应该在那里看到Access-Control-Allow-Origin标题