expressjs支持方法删除,并且不使用methodoverride

Ami*_*mit 19 forms node.js express

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

<form method="DELETE" action="">
Run Code Online (Sandbox Code Playgroud)

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

有没有更好的方法来覆盖它,而没有一个特殊的输入字段来支持这些?

Ped*_*Luz 43

您只需将表单设置为post,然后创建一个隐藏字段即可

<input type="hidden" name="_method" value="delete"/>
Run Code Online (Sandbox Code Playgroud)

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

最新版本的将要求您安装方法覆盖包,然后像这样配置您的应用程序:

var methodOverride = require('method-override')
app.use(methodOverride('_method'));
Run Code Online (Sandbox Code Playgroud)

旧版本可能会使用:

app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(express.methodOverride());
Run Code Online (Sandbox Code Playgroud)

更老的用法是:

app.use(express.bodyParser());
app.use(express.methodOverride());
Run Code Online (Sandbox Code Playgroud)