Je suis novice sur le nœud.
J'obtiens l'erreur suivante,
app.post('/post/save', (req, res) => { Post.create(req.body, (err, post) => { req.redirect('/'); }); });
Voici mon code
TypeError: req.redirect is not a function at Post.create (/var/www/html/node_blog/index.js:40:7) at /var/www/html/node_blog/node_modules/mongoose/lib/utils.js:276:16 at Function.<anonymous> (/var/www/html/node_blog/node_modules/mongoose/lib/model.js:4798:21)(/var/www/html/node_blog/node_modules/mongoose/lib/model.js:486:7) at /var/www/html/node_blog/node_modules/kareem/index.js:315:21 Emitted 'error' event at: at /var/www/html/node_blog/node_modules/mongoose/lib/model.js:4781:13 at /var/www/html/node_blog/node_modules/mongoose/lib/utils.js:276:16 [... lines matching original stack trace ...] at process._tickCallback (internal/process/next_tick.js:61:11)
3 Réponses :
Utilisez la redirection sur l'objet response
. La méthode de redirection est définie dans l'objet de réponse.
L'objet Request contient les informations de la demande client.
Et la réponse est utilisée pour envoyer la réponse au client. La redirection est également une réponse au client dans laquelle le serveur envoie une réponse avec le code d'état 302
.
app.post('/post/save', (req, res) => { Post.create(req.body, (err, post) => { res.redirect('/'); }); });
ce sera res.redirect ('/');
pas req.redirect('/');
rediriger l'utilisateur dans la réponse en utilisant res.redirect('/redirect_url_here');
vous pouvez en savoir plus ici: https://expressjs.com/en /4x/api.html#res.redirect
essayez de suivre la ligne
Post.create(req.body, (err, post) => { res.redirect('/'); });
la redirection est définie sur res pas sur req donc vous devriez utiliser quelque chose comme ceci:
app.post ('/ post / save', (req, res) => {Post.create (req.body, (err, post) => {res.redirect ('/');});});