这是在视图中呈现帖子的方式。删除帖子链接也在这里。
<ul class="posts" id="posts">
<% for(var i = posts.length - 1; i >= 0; i--) { %>
<li class="post">
<span><a href="/myPage/<%=posts[i]['_id']%>"><%= posts[i].userCreate %></a></span>
<!-- If current user created the post, show delete button -->
<% if (user.username == posts[i].username) { %>
<span><a href="/deletePost/<%= posts[i] %>">Delete</a></span>
<% } %>
</li>
<% } %>
</ul>
这是我的路线。删除路由会导致错误。我认为只有get路由对href链接有效。
// Delete post.
router.get('/deletePost/:id', function(req, res) {
post.deletePost(req.params.id);
res.redirect('crud');
});
这是我用来删除帖子的功能。
exports.deletePost = function(data) {
postsCollection.findAndModify({data}, [], {remove:true}, function(err, object) {
if(err)
throw err;
console.log("Deleted post!");
});
}
这会导致“重定向太多”错误。当我的应用程序崩溃时,帖子不会被删除。
答案 0 :(得分:0)
你可以使用这样的东西
router.delete('/delete/:id', function(req,res){
myCollection.findByIdAndRemove(req.params.id, function(err){
if(err){res.send(err);}
res.json({messaje:"Done"});
});
});