URL 不会随 res.render() 改变

编程入门 行业动态 更新时间:2024-10-05 19:19:11

<a href=https://www.elefans.com/category/jswz/34/1771395.html style=URL 不会随 res.render() 改变"/>

URL 不会随 res.render() 改变

我需要在使用 expressjs 从服务器登录到 ejs 模板引擎后发送应用程序列表。为此,我正在使用

res.render()
。即使它呈现指定的文件,它也不会更改 url。我应该怎么做才能与数据一起重定向并更改 url。

routes.js

const loginUser = requie('../Controller/LoginController');
router.post('/login', loginUser);

LoginController.js

const loginUser = (req, res) => {
    /* login code */
   res.render('apps/app-list', {
     title: 'Application List',
     isLoggedIn: true
   });
};

登录成功后渲染的是

apps/app-list
的内容,但是url还是
users/login
.

回答如下:

如果你正在尝试发送数据,你应该呈现一个页面,这是我的应用程序的一个例子:

app.get("/myfood", ensureAuthenticated, (req, res) => {
    Food.find({}, (error, allfood) => {
        if(error) {
            console.log(error)
        } else {
            res.render("myfood", {food: allfood})
        }
    })
})

所以我发送所有找到的食物和 get 请求。您可以发送多个对象。只需用逗号分隔即可。

正如我在评论中所说,如果你愿意,你不能这样做

res.redirect()

所以,在我的应用程序中,我想在用户注册时发送一条即时消息。这里:

newUser.save()
  .then(user => {
       req.flash("sucess_msg", "Thank you for registering.")
       res.redirect("/login");
  })

你可以在 YouTube 上搜索一下如何使用 req.flash() 有几个很棒的教程。我是从护照节点应用程序 Brad Traversy 那里了解到的。

这就是我能给你的全部了。 req.flash() 在全局变量中定义

app.use((req, res, next) => {
    res.locals.sucess_msg = req.flash("sucess_msg");
    res.locals.error_msg = req.flash("error_msg");
    res.locals.error = req.flash("error");
    next();
});

尝试做同样的事情,也许从那里开始。希望你能更近一步

更多推荐

URL 不会随 res.render() 改变

本文发布于:2024-05-30 10:30:23,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1770400.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:URL   res   render

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!