es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error [ERR_HTTP_HEADERS_SENT] [Nodejs-Express] Error [ERR_HTTP_HEADERS_SENT] [Nodejs-Express]

Estoy enfrentando un problema extraño en NodeJS al utilizarlo con Express y Mysql. Básicamente, obtengo un error que dice “Cannot set headers after they are sent to the client” incluso si no envío más de una encabezado.

He leído otros posts y los he probado también, y ninguno de ellos funcionó.

router.post(“/:id/:token”, async (req, res) => {

jwt.verify(req.params.token, config.secret , function(err, decoded) {
    if(err)  { 
             res.status(400).send(err);
              return; }
    else { res.status(200).send(decoded);
           return; }
})}

Resultados en la consola:

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que estás enviando dos respuestas al cliente. Tanto res.status(400).send(err); como res.status(200).send(decoded); están enviando una respuesta. Solo deberías enviar una respuesta por solicitud.

    Puedes probar algo como esto:

    router.post("/:id/:token", async (req, res) => {
        jwt.verify(req.params.token, config.secret , function(err, decoded) {
            if(err) { 
                res.status(400).send(err);
            } else { 
                res.status(200).send(decoded);
            }
        })
    });
    

    De esta manera, solo enviarás una respuesta al cliente.

Comments are closed.