javascript - 尽管隐藏了输入 DELETE,为什么我的表单仍然通过 POST 请求?

标签 javascript node.js mongoose

我正在构建我的第一个 Node.js 应用程序,并尝试发出删除模型的请求。下面是 show.ejs,我尝试在其中放置一个用于发送删除请求的按钮以及用于删除模型的相应 Controller 方法。我收到错误消息,该请求仍在作为发布请求发送,但我不知道为什么。有什么想法吗?

show.ejs

<html>
  <h1><%= movie.title %></h1>
  <img id="poster" src="<%= movie.poster %>">

  <p>Release Date: <%= movie.releaseDate %></p>
  <p>Critics Score: <%= movie.criticsScore %></p>
  <p>Audience Score: <%= movie.audienceScore %></p>

  <p><a href="/movies">Back</a></p>

  <form action="/movies/<%= movie._id %>" method="post">
    <input type="hidden" name="_method" value="delete">
    <input data-confirm='Are you sure?' value="Delete Movie" type="submit">
  </form>
</html>

movies.js

app.delete('/movies/:id', function (req, res) {
  Movie.findById(req.params.id, function (err, movie) {
    Movie.remove({ title: movie.title })

    res.redirect('/movies');
  });
});

最佳答案

我将 app.use(express.methodOverride()); 添加到我的 config.js 中,问题已解决。

关于javascript - 尽管隐藏了输入 DELETE,为什么我的表单仍然通过 POST 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22215652/

相关文章:

javascript - "Navbar refers to a value, but is being used as a type here"在测试时尝试呈现我的组件的浅拷贝

javascript - 动态内容自动中心

php - 在解释语言上处理非常大的整数时出现意外结果

node.js - mongoose 删除空对象或数组

node.js - 如何在 Node.js 中进行 MongoDB 聚合

javascript - JQuery - 检查窗口何时位于顶部(用户无法再向上滚动)

javascript - jQuery 源代码中的 indexOf.call 与 array.indexOf

node.js - 如何在nodejs中将html页面作为电子邮件发送

node.js - 创建利用内部数据库的 Node 模块是否有最佳实践?

javascript - Mongoose - 填充数组类型嵌套对象时的 .populate 问题