我在使用ajax请求与我的node.js服务器通信时遇到了问题。
我已经按照以下方式配置了我的服务器:
var allowCrossDomain = function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
};
app.use(allowCrossDomain);
在进行请求时,我遇到了这个错误:
XMLHttpRequest cannot load http://10.192.122.180:8181/meters. No 'Access-Control-Allow- Origin' header is present on the requested resource. Origin 'http://localhost:6161' is therefore not allowed access.
当我在浏览器中输入URL时,它可以正常工作。我已经阅读了很多关于CORS和同源策略的东西,但现在我感到有些迷失。
请问有人可以帮助我吗?
谢谢。
Access-Control-Allow-Origin
是正确的,但似乎你的代码没有添加它。请使用 Firebug 或 Chrome 开发工具中的网络选项卡检查头部信息。 - SilverlightFoxres.header('Access-Control-Allow-Methods', 'POST');
,你可以通过逗号分隔的方式指定多个 REST 方法,如'POST,GET'
等等。这可能会有所帮助。 - Lex