Javascript 使用express.js的动态url
若用户登录,他将重定向到example.com/his_name,但我得到了example.com/undefined。当我执行console.log(req.user)时,它有值。为什么?尝试将Javascript 使用express.js的动态url,javascript,node.js,express,Javascript,Node.js,Express,若用户登录,他将重定向到example.com/his_name,但我得到了example.com/undefined。当我执行console.log(req.user)时,它有值。为什么?尝试将req.user存储在如下变量中: router.get('/:username', function(req, res, next) { res.render('dashboard'); }); router.get('/', function(req, res, next) { if(
req.user
存储在如下变量中:
router.get('/:username', function(req, res, next) {
res.render('dashboard');
});
router.get('/', function(req, res, next) {
if(req.user) // this has value
res.redirect('/'+req.user);
});
我不确定这是否有用。我怀疑
rec.user
从检查if
条件到下一行所需的时间不到一纳秒。你是什么意思?它不应该改变,这就是重点。您的解决方案只保护在第3行和第4行之间的rec.user
更改-检查条件并执行if
的主体。这是一个如此微小的时间框架,任何事情都不应该改变,而且,如果它真的改变了,那么我们手中就有一个巨大的问题,就像如果(person.age>18){/*procedure*/}
在某个时候也注定会失败一样。是什么让你认为,rec.user
会是真实的,而且只有一次,然后立即设置为undefined
?
router.get('/', function(req, res, next) {
var currentUser = req.user;
if(currentUser) // this has value
res.redirect('/'+currentUser);
});