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

212
Visualizações
JavaScript: no capturado (en promesa) TypeError: no se pueden leer las propiedades de undefined (leyendo 'estado')

He estado trabajando en un script de inicio de sesión para una aplicación con node y express. Desafortunadamente, sigo recibiendo el error "Error de tipo no capturado (en promesa): no se pueden leer las propiedades de undefined (leyendo 'estado')". He estado tratando de averiguar qué estoy haciendo mal. ¿Podría alguien señalar por qué sucede esto?

A continuación se muestra el código para el script de inicio de sesión:

 //logic for login page app.post('/api/login', async(req, res)=>{ const {email, password} = req.body //get user with the passed email and password const user = await userModel.findOne({email}).lean() if(!user){ res.json({status:"error", error:"Invalid username / password"}) } //check if the passwords match if(await bcrypt.compare(password, user.password)){ const token = jwt.sign( { id:user._id, username:user.username },JWT_SECRET ) return res.json({status: "ok", data:token}) } return res.json({status:"error", error:"Invalid uswername/password"}) })

También así estoy haciendo la solicitud a la API.

 const result = await fetch('/api/login',{ method: 'POST', headers:{ 'Content-Type':'application/json' }, body:JSON.stringify({ email, password }) }).then(res=>{ res.json() }) if (result.status === 'ok' ){ alert("Success") console.log(result.data) }else{ alert(result.error) } }```
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

tu problema es como devuelves la respuesta (que la devuelvas transformada a json() ) y como capturas los errores, te dejo un ejemplo de código que te puede ayudar:

 const result = await fetch('/api/login',{ method: 'POST', headers:{ 'Content-Type':'application/json' }, body:JSON.stringify({ email, password }) }).then(res=>{ res }.catch(error=>{ error }) if (!result.ok) { const message = `An error has occured: ${result.status}`; throw new Error(message); } const data = await result.json(); return data; }
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