expressjs支持方法删除,并放在没有方法覆盖

如何让expressjs使用表单的删除和放置方法?

<form method="DELETE" action=""> 

使用上面的是在最新的稳定版本的chrome中发送一个GET请求。 这应该是一个浏览器问题?

有没有更好的方法来覆盖这个没有一个特殊的input字段来支持这些?

你只需要设置表单发布,然后创build一个隐藏的字段

 <input type="hidden" name="_method" value="delete"/> 

并根据您使用的快速版本设置configuration。 然后,表单方法将被该隐藏字段的值覆盖。

最新版本的express.js将要求您安装方法覆盖软件包,然后像这样configuration您的应用程序:

 var methodOverride = require('method-override') app.use(methodOverride('_method')); 

旧版本可能使用:

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

更旧的用法是:

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

实际上Express.bodyParser()在Express的版本3.4和Connect的2.9中已弃用。 这里解释了使用express.bodyParser()的安全问题