如何让用户删除post?

在下面,我有一个用户可以发出的发布请求,如果名称为_method的隐藏表单项目被删除,它将向我自己的服务器发出一个请求到不同的路由,并从数据库中删除这个post。 这个过程应该如何工作?

  app.post("/posts/:id/delete", function(req, res){ if(req.body._method = "delete"){ request({ "method": "delete", "url": "/posts/"+req.param.id }, function(err, response, body){ res.redirect("/posts"); }); } }); app.delete("/posts/:id", function(req, res){ //delete it from the database res.redirect("/posts"); }); 

假设Express / Connect, methodOverride()可能是最简单的select:

 app.use(express.bodyParser()); app.use(express.methodOverride()); 

虽然, <form action>和pathpath应该匹配:

 <form action="/posts/{{id}}" method="post"> <input type="_method" value="delete" /> <!-- ... --> </form> 
 app.delete('/posts/:id', function (req, res) { //delete it from the database res.redirect("/posts"); }); 

[更新]随着​​Express 4和更新,这个中间件已经转移到method-override