在Express中从一条路线重定向到另一条路线

Om3*_*3ga 4 javascript node.js express

我在nodejs中有以下路由

这是users.js路线

router.post('/users/login', function(request, response) {
    // let user login here and do all of the logic.

    // Once done then redirect user to dashboard in dashboard.js file
    response.redirect('/dashboard');
});
Run Code Online (Sandbox Code Playgroud)

这是dashboard.js路线

 router.get('/dashboard', function(request, response) {
     response.render('plans');
 });
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试重定向我作为用户登录时,它说下面.

cannot get Cannot GET /users/dashboard
Run Code Online (Sandbox Code Playgroud)

我希望用户重定向到/dashboard/dashboard.

如何在Express中将用户从一个路由重定向到另一个路由?

Aks*_*har 24

我有同样的疑问,我来到这里寻找答案但没有找到,所以我不得不自己在文档中挖掘解决方案,我找到了一个.

所以现在回答答案.使用res.redirect('/ dashboard')进入相对于当前路径的路径,即用户/仪表板,如果你有一个单独的仪表板路线,那么你将不得不这样使用它: res.redirect( '../dashboard/dashboard')

这里仅供参考,是我项目的预览:

路线文件夹

这是user_home.js路线:

var express = require('express');
var router = express.Router();

/* GET home page. */
router.get('/', function(req, res, next) {
  res.send("Hello User, welcome to user_home page");
});

router.get('/dashboard', function(req, res, next) {
  res.send("Hello User, this your personal dashboard");
});

module.exports = router;
Run Code Online (Sandbox Code Playgroud)

这是我重定向的路由中的代码:

else {
      console.log("Input validated!");
      res.redirect('../user_home/dashboard');  
}
Run Code Online (Sandbox Code Playgroud)

PS:这是我关于堆栈溢出的第一个答案,很高兴我可以帮助别人.