更新数据库后更改URL

时间:2011-09-01 17:47:42

标签: javascript node.js express

在我更新了我的数据库中的帖子标题后,我想重定向到第二个uri将成为新标题而不是旧标题的页面...我怎样才能在快递中执行此操作?

app.post('/blog_update/:title', function(req, res){
  var oldTitle = req.params.title
  var newTitle = req.body.post.title
  if(req.body.post.submit){
    posts.update({title : oldTitle}, {
                  title : req.body.post.title,
          body : req.body.post.body,
                  tags : req.body.post.tags
    }, function(err){
      if(err) throw err;

      else{
    posts.findOne({title : req.body.post.title}, function(err, arr){
      if(err) throw err

      res.render('blog_update' , {locals:{title:'Updated Successfully!', post: arr }});
    })
      }
    })
  }
});

1 个答案:

答案 0 :(得分:0)

res.redirect("/blog_update/" + newTitle);

根据newTitle构建新的uri,然后调用res.redirect

app.post('/blog_update/:title', function(req, res) {
    var oldTitle = req.params.title
    var newTitle = req.body.post.title
    if (req.body.post.submit) {
        posts.update({
            title: oldTitle
        }, {
            title: req.body.post.title,
            body: req.body.post.body,
            tags: req.body.post.tags
        }, function(err) {
            if (err) throw err;

            else {
                posts.findOne({
                    title: req.body.post.title
                }, function(err, arr) {
                    if (err) throw err

                    res.redirect("/blog_update/" + newTitle);
                })
            }
        })
    }
});