I zostały poszukiwania na całym jak to zrobić - Próbuję przekierować po DELETE jest wniosek - tu jest kod używam BEZ przekierowanie:ExpressJS - res.redirect po DELETE życzenie
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
zostaje wywołana, gdy element (post) zostanie usunięty. Wszystko działa poprawnie (musiałem użyć res.send(200)
, aby nie zawiesić się na żądanie usunięcia) - ale teraz mam problem z przekierowaniem. Jeśli używam res.redirect('/forum')
wewnątrz funkcji remove
, tak:
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');
});
};
Rejestruje przekierowanie jako żądanie DELETE
że próbuje usunąć /forum
coś takiego:
DELETE http://localhost:9000/forum 404 Not Found 4ms
All próbuję należy odświeżyć stronę, aby lista wpisów była aktualizowana po usunięciu. Czy ktoś może pomóc?
Mam taki sam problem z tobą. Wszystko w porządku. Ale 'res.redirect' nie przeładuje strony. – novaline
@nowalina - czy używasz również kątowego? Skończyło się na tym, że musiałem coś zrobić na mojej stronie frontendowej, a nie na stronie ekspresowej - patrz odpowiedź poniżej. – ewizard
nie, używam jQuery. Chcę ponownie załadować stronę po stronie serwera. To dziwne. 'Res.redirect' działa kiedy wykonuję operację' create' (POST, akcja formularza). Ale operacja 'delete' (POST, $ .ajax),' res.redirect' jest w porządku, bez błędu. Ale problem polega na tym, że nie odświeża strony. Widzę sieć 'response' zwróconą od strony serwera. – novaline