有没有比redirect()和render()更好的函数? [节点应用]

时间:2016-11-22 19:03:20

标签: javascript node.js mongodb express

我目前正在创建一个节点投注应用程序,当我发布到数据库时,我需要重定向回索引页面。目前我的解决方法是渲染index.hbs页面,但这将在mywebsite.com/bet上呈现,这是一个问题。我已经看过使用res.redirect(),但问题是我无法携带我的会话信息(user:req.user)或我希望在页面上呈现的收藏项目(项目: DOC)

app.post('/bet', function(req, res){
   // All betting functionality above and when completed do the following

        Collection.find(query).limit(10)
            .then(function(doc){
                res.render('index', {title: 'MyWebsite | Home', items: doc, user: req.user, 
                                     message: req.flash('bet-update')});
        });
 });

是否有更聪明的方法可以使用相关数据呈现索引页面?完成后,是否可以在POST功能中发送GET请求?我的app.get(' /')函数正是我需要它做的事情,但是当我必须将相同的代码复制并粘贴到Node中的每个POST请求函数时,它会变得很乱。 / p>

1 个答案:

答案 0 :(得分:1)

我会POST并重定向到显示您感兴趣的列表的页面。

想象一个简单的例子。您可以拥有GET /bets页面。此页面将检索用户会话并显示用户投注列表。 然后用户决定进行新的下注。您将调用POST /bets来执行所有投注逻辑。此时,您已准备好将用户重定向回显示更新列表的GET /bets

重点是将查看逻辑提取到专用页面,并在完成POST时重定向到该页面。它适用于您的情况吗?