我在nodejs中有以下路线
这里是[[ -s $f ]]
路线
test -s "$f"
这里是dashboard.js route
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');
});
我希望用户'重定向到 router.get('/dashboard', function(request, response) {
response.render('plans');
});
。
如何在Express中将用户从一个路由重定向到另一个路由?
答案 0 :(得分:21)
我有同样的疑问,我来到这里寻找答案但没有找到,所以我不得不自己在文档中挖掘解决方案,我找到了一个。
现在回答答案。使用 res.redirect(' /仪表板')进入相对于当前路线的路径,即用户/仪表板,如果您有一个单独的仪表板路线,那么您&# 39;我必须这样使用它: 的 res.redirect(' ../仪表板/仪表板&#39)
这里仅供参考,是我项目的预览:
这里是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;
以下是我重定向的路线中的代码:
else {
console.log("Input validated!");
res.redirect('../user_home/dashboard');
}
P.S:这是我关于堆栈溢出的第一个答案,很高兴能帮助别人。
答案 1 :(得分:-1)
res.redirect('auth/login');
我在我的一条名为“贡献”的路由中遇到了这个问题,当它被重定向时,它被呈现为“贡献/身份验证/登录”,这是错误的。
我需要的主要东西是'localhost:// port / auth / login。
我将我的ejs锚标记更改为'/ auth / login',它将从根获取url,以前是'auth / login',将url作为当前url +提供的url,即'contributions / auth /登录”。
希望这会有所帮助。