意外的Access-Control-Allow-Origin错误

时间:2013-10-21 12:13:31

标签: javascript backbone.js cors

我正在按照这里的简单教程进行操作:

http://addyosmani.github.io/backbone-fundamentals/

我有一个在localhost端口4711上运行的node.js服务器

我有tomcat在端口8082上运行,而一个backbone.js应用程序作为客户端在该服务器上作为index.html启动。

但我明白了:

  

XMLHttpRequest无法加载... api / books。 Origin localhost:8082不是   允许使用Access-Control-Allow-Origin。

1)为什么?这不是基于文件的访问 - 事实上普通的网络浏览器会看到

  

htttp:// localhost:4711 /并且互动很好。

2)有什么问题?(鉴于此堆栈的一部分是node.js服务器)

1 个答案:

答案 0 :(得分:1)

您正在发起CORS请求,因为两台服务器正在侦听不同的端口(localhost上的index.html:8082和localhost上的节点服务器:4711)

在节点的http服务器中,尝试将Access-Control-Allow-Origin标头设置为*Origin标头。

http.createServer(function(req, res) {
    res.header('Access-Control-Allow-Origin', req.headers['origin']);
    //handle
});