我使用下面的代码来运行我的nodejs后端服务器。Angular 前端必须与服务器通信。当我在localhost上使用它时,一切都很好。但是当我在heroku上部署我的代码时,我总是从源“https:https://iprocopiou.com/.com'已被CORS策略阻止:请求的资源上没有“Access-Control-Allow-Origin”标头。有人知道我在这里遗漏了什么吗?
const express = require("express");
const app = express();
const cors = require("cors");
const bodyParser = require("body-parser");
const corsOptions = {
origin: "*",
methods: ["GET","HEAD","PUT","PATCH","POST","DELETE"],
credentials: true,
preflightContinue:false
}
require("./startup/logging")();
require("./startup/routes")(app);
require("./startup/db")();
require("./startup/config")();
require("./startup/validation")();
require("./startup/prod")(app);
app.use(cors(corsOptions))
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
const port = process.env.PORT || 3000;
app.listen(port, () =\> console.log(`Listening on port ${port}`));
我已经尝试了几乎所有我能找到的方法...
1条答案
按热度按时间w1jd8yoj1#
出于安全原因,当您希望允许和共享凭据时,需要指定确切的URL或URLS来源(协议+域+端口),因此不能使用 *。
您还可以在此威胁CORS: Cannot use wildcard in Access-Control-Allow-Origin when credentials flag is true中看到更多详细信息