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

249
Visualizações
Función de inicio de sesión que guarda el token en localStorage como [Objeto][Objeto]

Estoy tratando de iniciar sesión en mi cuenta de usuario que está guardada en la base de datos y adjuntar un token a ese nombre de usuario con 'jwt-token'.

 router.post('/users/login', (req, res) => { User.authenticate()(req.body.username, req.body.password, (err, user) => { if (err) { console.log(err) } res.json(user ? jwt.sign({ id: user._id }, process.env.SECRET) : null) }) })

Sin embargo, cuando inicio sesión en la cuenta, el token se guarda como [Objeto][Objeto] en el almacenamiento local a través de esta función aquí,

 // when a user clicks login const handleLogin = (event) => { event.preventDefault(); axios.post('/api/users/login', { username: userState.username, password: userState.password }).then(token => { console.log(token) setLoginState(true) localStorage.setItem('username', userState.username) localStorage.setItem('token', token) }).catch(err => { console.log(err) })

¿Cuál es la razón por la que el token se guarda como un objeto? ¿No está siendo creado correctamente por mi ruta? ¿O no lo estoy llamando correctamente en mi llamada .then ? Cualquier idea sería apreciada. Todavía trato de aprender todo lo que puedo sobre el trabajo de fondo y parece que tengo problemas en cada paso.

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

0

Tenemos que clasificar mientras almacenamos objetos en el almacenamiento y analizar los objetos almacenados mientras los recuperamos.

 // Put the object into storage localStorage.setItem('username', JSON.stringify(username)); // Retrieve the object from storage var retrievedUsername= localStorage.getItem('username'); console.log('retrievedUsername: ', JSON.parse(retrievedUsername));
about 4 years ago · Juan Pablo Isaza Relatório

0

localStorage.setItem() guarda información como cadenas, por lo que ve que se guarda " [Objeto][Objeto] ", ya que eso es lo que está recibiendo.

Por lo tanto, debe transformar su objeto en una cadena antes de guardarlo.

Puede lograr esto usando la función JSON.stringify() .

Nota: tendrá que volver a transformar la Cadena en un objeto cuando necesite obtenerla. Puede lograr esto usando JSON.parse()

Ejemplo:

 localStorage.setItem('username', JSON.stringify(userState.username)) localStorage.setItem('token', JSON.stringify(token)) JSON.parse(localStorage.getItem('username')) JSON.parse(localStorage.getItem('token'))
about 4 years ago · Juan Pablo Isaza Relatório

0

la promesa de axios devuelve un objeto de respuesta que tiene un atributo de datos. Para acceder al token, debe llamar a res.data y almacenarlo así localStorage.setItem('token',res.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