我有一个项目,使用 Axios 从客户端发送 HTTP 请求
axios.create({
baseURL: `http://localhost:8081/`,
withCredentials: true
})
我想这允许 cookie - 我确信它会在您提出请求之前显示在浏览器中 - 与请求一起发送。
问题发生在后端,当日志中显示以下错误时:
对预检请求的响应未通过访问控制检查:
响应中“Access-Control-Allow-Origin”标头的值必须
当请求的凭据模式为时,不能是通配符“*”
'包括'。起源 'http://本地主机:8080 http://localhost:8080' 因此不允许
使用权。发起请求的凭证模式
XMLHttpRequest 由 withCredentials 属性控制。
我试过这个:
app.use(cors({
//origin : to be set later
credentials: true,
}))
而这个:
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-Credentials", true);
next();
});
但似乎都不起作用。
编辑 - 这是未来访客的答案
在评论参与者的帮助下,我发现我必须设置原始值:
app.use(cors({
origin : "http://localhost:8080",
credentials: true,
}))