ewizard ewizard - 9 days ago 8
Javascript Question

ExpressJS - res.redirect after DELETE request

I have been searching all over for how to do this - I am trying to redirect after a DELETE request is made - here is the code I am using WITHOUT THE REDIRECT:

exports.remove = function(req, res) {
var postId = req.params.id;
Post.remove({ _id: postId }, function(err) {
if (!err) {
console.log('notification!');
res.send(200);
}
else {
console.log('error in the remove function');
res.send(400);
}
});
};


remove
gets called when an item (a post) is deleted. Everything works fine (I had to use
res.send(200)
to get it to not hang on the delete request) - but now I am having trouble redirecting. If I use
res.redirect('/forum')
inside the
remove
function, like this:

exports.remove = function(req, res) {
var postId = req.params.id;
Post.remove({ _id: postId }, function(err) {
if (!err) {
console.log('notification!');
res.send(200);
}
else {
console.log('error in the remove function');
res.send(400);
}
res.redirect('/forum');
});
};


It registers the redirect as a
DELETE
request that is trying to delete
/forum
, like this:

DELETE http://localhost:9000/forum 404 Not Found 4ms


All I am trying to do is refresh the page so that the list of posts is updated after the delete. Can anyone help?

Answer

I got it working on my Angular side with $window.location.href = '/forum'; - just put it in the success function of the $http request that is part of the delete function that gets executed when the "Delete" button is clicked.

Comments