Javascript 在Express中从一条路线重定向到另一条路线
我在nodejs有以下路线 下面是Javascript 在Express中从一条路线重定向到另一条路线,javascript,node.js,express,Javascript,Node.js,Express,我在nodejs有以下路线 下面是users.jsroute 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'); }
users.js
route
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');
});
这里是dashboard.js路径
router.get('/dashboard', function(request, response) {
response.render('plans');
});
现在,当我以用户身份登录时,当它试图重定向我时,它会显示以下内容
cannot get Cannot GET /users/dashboard
我希望用户重定向到/dashboard/dashboard
在Express中,如何将用户从一条路线重定向到另一条路线?我和你有同样的疑问,我来这里寻找答案,但没有找到答案,因此我不得不亲自在文档中挖掘解决方案,我找到了一个 现在来回答问题。使用res.redirect('/dashboard')是指向相对于当前路径(即用户/仪表板)的路径,如果您有单独的仪表板路径,则必须以以下方式使用: res.redirect('../dashboard/dashboard') 以下是我的项目预览,仅供参考: 以下是
user_home.js
route:
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:这是我关于堆栈溢出的第一个答案,很高兴我能帮助别人解决问题。
res.redirect('auth/login');
我在一个名为“contributions”的路由中有一个,当它被重定向时,它被呈现为“contributions/auth/login”,这是错误的
我最需要的是localhost://port/auth/login.
我将ejs锚标记更改为“/auth/login”,它将从根目录获取url,以前是“auth/login”,它将url作为当前url+提供的url,在我的例子中是“contributions/auth/login”
希望这能有所帮助。您可能需要更明确地进行路由重定向——它似乎仍保留在目录中(可能不是正确的工作,因为它是一条路由)
/users
。尝试response.redirect('/dashboard/dashboard')代码>如果不起作用,可能是相对的。
会有帮助吗?他的重定向也应该起作用,因此“/path”应该是相对于根的,没有前导斜杠,它应该是相对于当前路径的@你能在浏览器中检查一下你的回复重定向标题吗?我觉得这不相关。