2014-03-06 19 views
1

我正在构建我的第一个Node.js应用程序,我试图提出删除模型的请求。下面是show.ejs,我试图放置一个按钮来发送删除请求&相应的控制器方法来删除模型。我收到一个错误消息,请求仍然作为发布请求发送,我不知道为什么。任何想法为什么?为什么我的表单仍然使用POST请求,即使隐藏了输入DELETE?

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'); 
    }); 
}); 

回答

0

我加app.use(express.methodOverride());config.js和问题得到解决。

相关问题