我正在按照这里的简单教程进行操作:
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服务器)
答案 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
});