如何让 expressjs 使用表单的 delete 和 put 方法?
<form method="DELETE" action="">
使用上述方法是在最新的稳定版 chrome 中发送 GET 请求。这应该是浏览器问题吗?
有没有更好的方法来覆盖它而无需特殊的输入字段来支持这些?
最佳答案
你只需要将表单设置为发布,然后创建一个隐藏字段,如
<input type="hidden" name="_method" value="delete"/>
并根据您使用的 express 版本设置配置。然后表单方法将被该隐藏字段的值覆盖。
最新版本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());
关于forms - expressjs 支持方法删除和放置,没有方法覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9859287/