TLDR - 无法弄清楚如何从React作为响应cookie发送cookie,不确定我是否需要从浏览器访问它,或者是否隐式包含它并且我只是没有使用正确的标题等😕谢谢❤
我成功地使用我的Node.js后端通过我的反应应用程序使用cookie-parser将cookie发送到浏览器:
res.cookie('cookieName','myCookie').status(200).send("Log in successful!");
这源于我在React中的获取请求:
fetch("http://localhost:5000/login", {
method: "POST",
mode: "cors",
headers: {
"Content-Type": "application/json",
"Access-Control-Allow-Headers": 'x-access-token' //tried with/without this
},
credentials: 'same-origin',
redirect: "follow",
referrer: "no-referrer",
body: JSON.stringify(data)
}).then(res => {
if(res.status === 200){
console.log("success");
}
这似乎工作!如果我检查“网络”选项卡并查看它包含响应cookie的响应:
cookieName:
path:/
value: myCookie
我现在只是试图向后端发送请求,包括这个cookie,以便验证会话等,但当我尝试在服务器上打印cookie时,它说没有一个😞这就是我的方式我试图发送请求,我认为浏览器cookie将被包括在内但也许我需要以某种方式明确地包含它?这是我的请求:
checkCookies = () => {
fetch("http://localhost:5000/checkcookie", {
method: "POST",
mode: "cors",
headers: {
"Content-Type": "application/json",
},
credentials: 'same-origin', // also tried "include"
redirect: "follow",
referrer: "no-referrer",
body: JSON.stringify({name: "test"})
})
}.then(...
发布于 2019-06-03 11:00:39
默认情况下,Fetch不使用cookie。要启用Cookie:
fetch(url, {
method: 'GET',
credentials: 'include'
})
.then(...)
您需要credentials
在两个调用中设置相同的值。
在第一次通过Application
选项卡请求后检查cookie是否存储在浏览器中。
https://stackoverflow.com/questions/-100006888
复制相似问题