我刚开始使用express.js和handlebars.js作为我的模板引擎。我想创建一个删除链接,它应该是restful风格并使用HTTP的DELETE方法而不是GET方法。
我最终找到了一种方法来实现这个目标,就是创建一个链接,并添加data-method属性,将其设置为delete,然后在客户端使用jQuery拦截我的链接请求并使用DELETE动词。
我的链接如下:
<a href="/destroy/{{_id}}" data-method="delete">delete</a>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$("a[data-method='delete']").click(function(){
$.ajax({
url: this.getAttribute('href'),
type: 'DELETE'
})
return false
})
</script>
这是在express.js/handlebars.js中实现的推荐方法吗?是否有更好的方法来实现这一点?我还没有找到类似于Rails帮助程序中所做的方式。
link_to("Destroy", "http://www.example.com", method: :delete)
app.use(...
之前添加const methodOverride = require('method-override')
。 - Diego Somar