我的曲奇没有放好。我已经尝试了不同头部中间件的所有可能的变体,但是我不能让它工作。我是一个比较新的人,所以如果你认为我不理解一些关键的概念,请解释一下!
前端部分:
window.onload = function(){
const Http = new XMLHttpRequest;
const url = "http://localhost:5001/";
Http.open("GET",url,true);
Http.withCredentials = true;
Http.setRequestHeader('Content-type','text/plain');
Http.send();
}
server side:
app.get("/",stuff);
function stuff(req,res) {
res.cookie("ss","ss");
console.log("stuff");
res.header("Access-Control-Allow-Origin", "http://127.0.0.1:5500");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
res.header("Access-Control-Allow-Credentials", "true");
res.send();
}一开始我遇到了CORS的问题,但现在我已经设法摆脱了那个错误,我仍然不能让它来保存cookie。我已经设法保存了来自发出请求的域的cookie,但不是保存在我的HTML+CSS+JS所在的这个文件上。
发布于 2019-04-11 09:37:53
遗憾的是,即使来源位于相同的主机名但不同的租用端口上,也无法设置跨源cookie。这存在一个安全缺陷,允许站点为其他域设置跟踪cookies。话虽如此,这里有一些可能的解决方法:
设置cookies:
这可以通过用JSON响应http-request来告诉前端设置cookie来实现。
获取cookies:
您可以通过将document.cookie变量作为FormData传递给您的后端并在那里解析它来完成此操作。
https://stackoverflow.com/questions/55621819
复制相似问题