一尘不染

expressjs支持方法删除和放置,而无需methodoverride

node.js

我如何让expressjs使用delete和put方法来生成表单?

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

使用上面的方法以chrome的最新稳定版本发送GET请求。这应该是浏览器问题吗?

有没有更好的方法来覆盖此方法,而无需特殊的输入字段来支持这些方法呢?


阅读 221

收藏
2020-07-07

共1个答案

一尘不染

您只需要设置要发布的表单,然后创建一个隐藏字段,例如

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

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

最新版本的express.js将要求您安装method-override程序包,然后按以下方式配置您的应用程序:

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());
2020-07-07