使用ExpressJS在POST后更改URL

nco*_*hen 5 node.js express

我使用expressJS作为我的NodeJS服务器.用户通过POST向我发送他的登录信息,并在检查凭据后呈现页面:

router.post("/login", function (req: Request, res: Response, next) {
   if(credentialsOK){
      res.render('main');
   }
});
Run Code Online (Sandbox Code Playgroud)

问题是URL变为http:// myaddress/login,我想删除地址的/ login.我不想使用重定向,因为我想通过渲染发送局部变量.

如何更改网址?

小智 7

您仍然可以传递您的局部变量res.redirect.

router.post("/login", function (req: Request, res: Response, next) {
   if(credentialsOK){
       req.session.localVar = yourLocalVar;
       res.redirect('/main');
   }
})
Run Code Online (Sandbox Code Playgroud)

然后在main路由器中:

router.get("/main", function (req: Request, res: Response, next) {
    var yourLocalVar = req.session.localVar;
    res.render('main');
})
Run Code Online (Sandbox Code Playgroud)