我正在编写一个vue应用程序并使用Node.js Api。我已经在后端中包含 cors,其他发布方法效果很好。但是在这条路线上有一个Nginx 502坏网关。
chrome控制台中的错误是
Failed to load resource: the server responded with a status of 502 (Bad Gateway)
Failed to load : No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin is therefore not allowed access. The response had HTTP status code 502.
该应用程序.js CORS
app.use(function(req, res, next) {
res.setHeader("Access-Control-Allow-Origin","*");
res.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept,Authorization");
res.setHeader('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,PATCH,OPTIONS');
res.setHeader("Access-Control-Allow-Credentials", "false")
next();
});
我的AddPatient组件和我的Axios在粘贴上可用
使用setHeader
,您只写入一个标头,覆盖前一个标头。您必须使用允许您写入多个标头的res.header()
。你可以这样做:
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin","*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept,Authorization");
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,PATCH,OPTIONS');
res.header("Access-Control-Allow-Credentials", "false")
next();
});