0
votes

Err_http_headers_sent]: impossible de définir des en-têtes après leur envoi au client

Ceci est mon code de routes dans Express. Lorsque j'essaie de supprimer ou de poster dans Postman, placez cette erreur dans la console

    // delete by id 

    router.delete("/:idModelo", function(req, res, next) {
      const id = req.params.idModelo;
      const sql = `DELETE * FROM Modelo WHERE idModelo=${id}`;
      pool.query(sql, function(err, row, fields) {
        if (err) {
          res.status(500).send({ error: "Something failed!" });
        }
        res.send("Deleted");
      });
    });


0 commentaires

3 Réponses :


0
votes
router.delete("/:idModelo", function(req, res, next) {
  const id = req.params.idModelo;
  const sql = `DELETE * FROM Modelo WHERE idModelo=${id}`;
  pool.query(sql, function(err, row, fields) {
    if (err) {
      res.status(500).send({ error: "Something failed!" });
      return;
    }
    res.send("Deleted");
  });
});
You forgot to put a return after the first res call. So what happened was it saw ran the first one and since there was no return statement it went ahead to run the second one.So you can solve you error in 2 ways. put the res.send in the else block or put a return keyword after the res.status. It doesn't have to return anything. You just need to signal to the function that after it sends a response error it should terminate the function.

0 commentaires

0
votes

Si vous êtes piscine.Query () code> rencontre une erreur, vous appellerez res.Send () code> deux fois:

   router.delete("/:idModelo", function(req, res, next) {
      const id = req.params.idModelo;
      const sql = `DELETE * FROM Modelo WHERE idModelo=${id}`;
      pool.query(sql, function(err, row, fields) {
        if (err) {
          res.status(500).send({ error: "Something failed!" });
        } else {
          res.send("Deleted");
        }
      });
    });


0 commentaires

0
votes

Just retour retour retour Suivant (); dans votre middleware et cela fonctionnera à coup sûr.


1 commentaires

seulement retourner ensuite ();