gpt4 book ai didi

javascript - 如何在发送响应 Node js (Sails) 之前设置 cookie

转载 作者:行者123 更新时间:2023-11-30 16:23:27 24 4
gpt4 key购买 nike

如果在发送响应之前设置 cookie,我会遇到问题。就像我想为登录用户设置 cookie,然后我想发送响应 OK。

User.find({user:req.body.username,password:req.body.password})
.exec(function(err,row){
if(err){
console.log(err);
res.negotiate();
}
else if(row.length){
res.cookie('user',{user:row[0].user,role:row[0].role},{
signed:true,
httpOnly:true,
maxAge:1000*60*60*24*5
});
res.end('You are logged in successfully');
}
else{
console.log('nothing executed');
res.end('Not such a user');
}
});

确定 res.cookie() 会在 res.end() 之前执行吗

最佳答案

您通过向浏览器发送 Set-Cookie header 来“设置”cookie。因此,严格来说,不可能在发送响应之前设置cookie。调用 res.cookie() 只是准备相应的 header ,但实际上并不发送它。

我看到您使用 cookie 来存储用户数据,所以在这种情况下,您最好使用像 https://github.com/expressjs/session 这样的 session 模块。 -- 让你随时读写数据,为你处理底层cookie业务。

关于javascript - 如何在发送响应 Node js (Sails) 之前设置 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34415905/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com