当前位置: 首页 > 面试题库 >

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

空枫涟
2023-03-14
问题内容

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

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

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

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


问题答案:

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

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


 类似资料:
  • 我有Java控制器: 并遇到以下问题:警告14068--[nio-8080-exec-3].w.s.m.s.defaultHandlerExceptionResolver:Resolved[org.springframework.web.httpRequestMethodNotSupportedException:Request method'DELETE'not support]它发生在我发送删

  • 我正在使用spring boot(后端)和angulars js(前端),以及使用restful web服务在两个前端之间进行通信。这是我的Rest服务: 这是我的函数angulars js: 但是当点击删除按钮时,我得到了这个错误: 不支持DELETE方法????

  • 问题内容: 这在Microsoft SQL Server的T-SQL上是有效的语法,但在SQLite中则无效,在SQLite中是否有相同的替代语法? 问题答案: 通常,将整个联接移到一个子查询中,该子查询查找要删除的行的主键: 如果您有复合主键,则可以使用rowid代替: 如果您有复合主键,并且将该表创建为WITHOUT ROWID 表,则必须将联接重写为相关子查询:

  • 这里是我的代码片段,在这里我使用了Express router和Mongoose模型。 我无法访问id parm。 这是我收到的错误 TypeError:无法读取位于f:\ns\routes\tasks.js:11:33的未定义属性“id”。handle[as handle_request](F:\ns\node_module\express\lib\router\layer.js:95:5)位于

  • 问题内容: 我正在使用Spring JPA进行数据库访问。我能够找到诸如findByName和countByName之类的示例,对于这些示例,我不必编写任何方法实现。我希望找到一些根据某些条件删除一组记录的示例。 Spring JPA是否支持类似于deleteByName的删除?任何指针表示赞赏。 问题答案: 不建议使用的答案(Spring Data JPA <= 1.6.x): 救援的注释。但是

  • 作为测试的一部分,我一直在尝试创建一个用户,然后将其删除,但我不断收到相同的错误组织。冬眠hql。内部的QueryExecutionRequestException:即使在我的存储库和控制器中不断更改代码之后,DML操作也不受支持。 这是我的存储库中的代码: 这是我的控制器中的代码: