0
votes

J'obtiens une erreur, `req.redirect` n'est pas une fonction

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)


1 commentaires

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 ('/');});});


3 Réponses :


1
votes

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('/');
    });
});


0 commentaires

1
votes

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


0 commentaires

0
votes

essayez de suivre la ligne

  Post.create(req.body, (err, post) => {
    res.redirect('/');
  });


0 commentaires