Access-Control-Allow-Origin问题,即使它应该有效

时间:2018-04-06 08:51:55

标签: node.js deployment

请记住,这是我第一次部署整个软件包应用程序(意思是前端+后端),也许我错过了一些明显的东西。

我托管了前端和后端,现在我正尝试在我的应用程序中登录。

但是我得到了Access-Control-Allow-Origin错误。

我设置了这样的后端:

app.use(function (req, res, next) {
    res.header("Access-Control-Allow-Origin", 'http://myapp.net');
    res.header("Access-Control-Allow-Credentials", true);
    res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
    res.header('Access-Control-Allow-Headers', 'Content-Type, Content-Length, X-Requested-With');
    next();
});

并希望访问http://myappAPI.net/login,但收到此错误:

  

无法加载http://myappAPI.net/login:否   请求中存在“Access-Control-Allow-Origin”标头   资源。因此,不允许原点“http://myapp.net”访问。   响应具有HTTP状态代码502.如果提供不透明响应   您的需求,将请求的模式设置为'no-cors'以获取资源   禁用CORS。

我错过了什么?

2 个答案:

答案 0 :(得分:0)

而不是

res.header(..)

res.setHeader(...)

The attributes headers is read only

答案 1 :(得分:0)

我找到的最简单的解决方案(这不是最好的解决方案,因为我根本不知道这个包)是安装包 cors > npm install cors --save

然后在你的代码中:

cors = require('cors')
app.use(cors())

如果您想了解更多关于角色的信息:https://www.npmjs.com/package/cors