这是文章在视图中呈现的方式。删除帖子的链接也在这里
<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!");
});
}
这会导致'too many redirects'错误。当我的应用程序崩溃时,该帖子不会在结束时被删除。
你可以这样写
router.delete('/delete/:id', function(req,res){
myCollection.findByIdAndRemove(req.params.id, function(err){
if(err){res.send(err);}
res.json({messaje:"Done"});
});
});