gpt4 book ai didi

node.js - 在数据库回调上重新生成 session

转载 作者:太空宇宙 更新时间:2023-11-04 02:32:47 24 4
gpt4 key购买 nike

我试图在成功验证用户凭据后重新生成 session 。但是当代码位于数据库回调中时, session 不会重新生成

app.post('/login',function(req,res){

var userName=req.body.userid.toLowerCase();
db.collection('credentials').findOne({'userName':userName},function(err,result){
req.session.regenerate(function (err) {

});
});

});

它在外面工作正常

app.post('/login',function(req,res){
var userName=req.body.userid.toLowerCase();
req.session.regenerate(function (err) {

});
db.collection('credentials').findOne({'userName':userName},function(err,result){

});

});

有什么想法吗?

最佳答案

看起来错误是我的部分。代码正在响应我发布的代码正下方的请求。由于这些工作是异步的,我猜响应是在 session 重置之前发送的。

app.post('/login',function(req,res){

var userName=req.body.userid.toLowerCase();
db.collection('credentials').findOne({'userName':userName},function(err,result){
req.session.regenerate(function (err) {

});
res.send('welcome '+result.firstName+' '+result.lastName);
});

});

我将响应移至 regenarte 回调中,现在它正在运行。

关于node.js - 在数据库回调上重新生成 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25064340/

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