ho cercato dappertutto come fare questo - sto cercando di reindirizzare dopo una richiesta di eliminazione è fatto - ecco il codice che sto usando SENZA REDIRECT:ExpressJS - res.redirect dopo richiesta di eliminazione
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
viene chiamato quando un elemento (un post) viene eliminato. Funziona tutto bene (ho dovuto usare res.send(200)
per ottenere che non si blocchi sulla richiesta di cancellazione) - ma ora ho problemi a reindirizzare. Se uso res.redirect('/forum')
all'interno della funzione remove
, in questo modo:
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');
});
};
Si registra il reindirizzamento come una richiesta DELETE
che sta cercando di eliminare /forum
, in questo modo:
DELETE http://localhost:9000/forum 404 Not Found 4ms
Tutto quello che sto cercando è necessario aggiornare la pagina in modo che l'elenco dei post venga aggiornato dopo l'eliminazione. Qualcuno può aiutare?
Ho lo stesso problema con te. Va tutto bene. Ma 'res.redirect' non ricarica la pagina. – novaline
@novaline - stai usando anche l'angolare? Ho finito per dover fare qualcosa sul mio frontend lato, non il lato espresso - vedi risposta sotto. – ewizard
no, io uso jQuery. Voglio ricaricare la pagina dal lato server. È strano. 'Res.redirect' funziona quando eseguo l'operazione' create' (POST, form action). Ma l'operazione 'delete' (POST, $ .ajax),' res.redirect' va bene, senza errori. Ma il problema è che non si aggiorna la pagina. Riesco a vedere la rete 'response' restituita dal lato server. – novaline