我正在构建我的第一个 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/