Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用express.js的动态url_Javascript_Node.js_Express - Fatal编程技术网

Javascript 使用express.js的动态url

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(

若用户登录,他将重定向到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) // 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);
});