【发布时间】:2018-02-22 04:48:01
【问题描述】:
我试图在通过 ajax 从本地主机登录后发送一个 cookie 到托管在其他地方的服务器。为了解决与 cookie 相关的错误,我在我的 axios 中使用:
var instance = axios.create({
withCredentials: true
});
在 expressjs 中我有这个:
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");
next();
});
所以,我现在收到这个错误
无法加载https://foo.herokuapp.com/login:对预检请求的响应未通过访问控制检查:响应中的“Access-Control-Allow-Origin”标头的值不能是通配符“*”,当请求的凭据模式是“包含”。因此,Origin 'http://localhost:8080' 不允许访问。 XMLHttpRequest 发起的请求的凭证模式由 withCredentials 属性控制。
我如何告诉 express 将我的域列入白名单,或者我如何只发回 cookie 以便我可以保持登录状态?
要添加更多信息,当我向 expressjs 发出帖子(登录)请求时,它会返回一个 cookie,现在我的浏览器不会自己发送 cookie,这就是我使用withCredentials的原因
【问题讨论】:
标签: javascript node.js express cookies axios