首页 > 解决方案 > Nodejs如何在nodejs中重定向同一路由中的另一个页面

问题描述

在这里我试图通过相同的路由访问登录路由上的重定向,首先我调用 homeCtrl 函数,在这个函数成功渲染后我想执行 res.redirect('/login'),

但这里发生了以下错误-:

错误:发送后无法设置标头。

router.get('/email_authentication', homeCtrl,function(req,res){

res.redirect('/login');
});

function homeCtrl(req, res,next) {

res.render('email_authentication');

return next();

}

如果有任何其他解决方案请帮助我,请指导我如何做到这一点。

标签: javascriptnode.jsexpressredirectrender

解决方案


请求响应周期在您发送响应时结束。

当用户向 will 发送请求时,/email_authentication homeCtrl将完成他的工作并呈现email_authentication模板。循环到此结束。

我不明白你的逻辑。当您呈现模板时,您应该等待用户的下一个请求。email_authentication如果您真的需要将用户重定向到另一个页面(我不明白这一点),您可以在模板中使用前端重定向。

window.location.replace('/login');

更好的解释将帮助我们帮助您。


推荐阅读