0

我正在从这里学习一个简单的教程:

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

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

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

但我得到:

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

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

http://localhost:4711/ 和交互就好了。

2)解决方法是什么?(鉴于此堆栈的一部分是 node.js 服务器)

4

1 回答 1

1

您正在启动CORS请求,因为两台服务器正在侦听不同的端口(本地主机上的 index.html:8082 和本地主机上的节点服务器:4711)

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

http.createServer(function(req, res) {
    res.header('Access-Control-Allow-Origin', req.headers['origin']);
    //handle
});
于 2013-10-21T12:19:18.537 回答