Javascript 把手模板按钮上的删除方法

Javascript 把手模板按钮上的删除方法,javascript,node.js,mongodb,mongoose,handlebars.js,Javascript,Node.js,Mongodb,Mongoose,Handlebars.js,正在尝试了解如何删除mongodb/mongoose/node数据库中的条目。我知道如何使用表单提交按钮上的POST方法创建条目。但是很难找到任何关于如何使用提交按钮删除方法的信息。我知道你不能在html表单上使用“DELETE”,但还有其他选择吗 节点上的路由 router.delete('/:id',function(req, res, next){ Docket.findById(req.params.id, function(err, docket){ docket.remo

正在尝试了解如何删除mongodb/mongoose/node数据库中的条目。我知道如何使用表单提交按钮上的POST方法创建条目。但是很难找到任何关于如何使用提交按钮删除方法的信息。我知道你不能在html表单上使用“DELETE”,但还有其他选择吗

节点上的路由

router.delete('/:id',function(req, res, next){
  Docket.findById(req.params.id, function(err, docket){
    docket.remove(function(err){
      res.redirect('/dockets');
    });
  });
});
车把模板

<form name="delete-docket-form" id="delete-docket-form" method="delete">
    <div class="form-submit">
        <input type="submit" value="Delete my docket" />
    </div>
</form>


您可以使用POST和action=“/123456?method=delete”作为解决方法,但这需要router.POST而不是router.delete,然后您需要检查req.query.method==“delete”。或者使用带有按钮$.Ajax({type:'DELETE',url:'/123456',…您的意思是:action=“{this.id}}?method=DELETE”和Docket.findById(req.query.method==DELETE,function(err,Docket){Yes action=“{this.id}?method=DELETE”是正确的,但是Docket.findById需要一个id,为什么要传递req.query.method==delete,所以在router.post…中,您只需检查`如果(req.query.method==delete){Docket.findById(id,…Docket.remove…}否则{//如果没有指定删除,请按正常方式使用此路由}所以你只需使用一条路由就可以完成两件事。谢谢你,我明白了!!你可以使用POST和action=“/123456?method=delete”作为解决方法,但这需要router.POST而不是router.delete,然后你需要检查req.query.method=='delete'。或者使用jQuery Ajax和$.Ajax按钮({type:'delete',url:'/123456,…你的意思是:action=“{this.id}}?method=delete“和Docket.findById(req.query.method==delete,function(err,Docket){Yes action=“{{this.id}}}}?method=delete”是正确的,但是Docket.findById需要一个id,为什么要传递req.query.method==delete?所以在你的router.post中…你只需检查`如果(req.query.method==delete){){.findById(id,…Docket.remove…}否则{//如果没有指定删除,请像平常一样使用此路由}因此,只需使用一条路由即可完成两件事。谢谢,伙计,我找到了!!