Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

180
Visualizações
Error de la aplicación Express: [ERR_HTTP_HEADERS_SENT]: no se pueden establecer encabezados después de enviarlos al cliente
const router = require("express").Router(); const mongoose = require("mongoose"); const User = require("../models/Users"); const bcrypt = require("bcrypt"); const jwt = require("jsonwebtoken"); // Route 1: create new user at /api/createuser router.post("/createuser", async (req, res) => { try { console.log(req.body); const salt = await bcrypt.genSaltSync(10); const hash = await bcrypt.hashSync(req.body.password, salt); password = hash; const user = new User({ name: req.body.name, email: req.body.email, password: password, }); user .save() .then(() => { res.json({ message: "User created successfully" }); }) .catch((err) => { res.json({ message: "Error: " + err }); }); console.log(password); } catch (err) { res.json({ message: err }); } }); // Route 2: Login user at /api/login router.post("/login", async (req, res) => { try { console.log("login endpoint triggered"); const user = await User.findOne({ email: req.body.email }); if (!user) { res.json({ message: "User does not exist" }); } const passwordIsValid = await bcrypt.compare( req.body.password, user.password ); if (!passwordIsValid) { res.json({ message: "Invalid password" }); } else { const data = { id: user._id, }; const token = await jwt.sign(data, process.env.SECRET); res.json(token); } } catch (error) { res.json({ message: error }); } }); module.exports = router;

Cada vez que pruebo el punto final de inicio de sesión, mi aplicación falla si intento ingresar una contraseña incorrecta o un correo electrónico no registrado. Dice Error [ERR_HTTP_HEADERS_SENT]: No se pueden establecer encabezados después de enviarlos al cliente. Solo he enviado una respuesta al cliente, incluso entonces muestra este error. En la terminal, muestra un error en el bloque de captura del punto final de inicio de sesión. ¿Alguien puede investigarlo y decirme por qué recibo este error?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Asegúrese de que cuando la respuesta sea un error, el resto del middleware no se ejecute más. Por ejemplo, coloque un return antes de la instrucción res.json :

 if (!user) { return res.json({ message: "User does not exist" }); }

De lo contrario, es posible que se emita el json "Contraseña no válida" después de este, pero dos res.json en una respuesta conducen al error observado.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda