【问题标题】:Nodejs how to redirect another page in same route in nodejsNodejs如何在nodejs中重定向同一路由中的另一个页面
【发布时间】:2018-06-05 05:56:10
【问题描述】:

这里我试图通过相同的路由访问登录路由上的重定向,首先我调用 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();

}

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

【问题讨论】:

  • res.render 结束了您的中间件链,您无法处理后续步骤。
  • @scetiner 如果 res,render 是不可能的,那么我怎样才能在同样的情况下得到我的结果。
  • 我没有得到你想要实现的逻辑。此实现尝试同时呈现 email_auth 和登录。

标签: javascript node.js express redirect render


【解决方案1】:

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

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

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

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

更好的解释将有助于我们为您提供帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-27
    • 1970-01-01
    • 1970-01-01
    • 2019-05-08
    • 1970-01-01
    • 2020-06-01
    相关资源
    最近更新 更多