Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

132
Views
La solicitud ExpressJS Post no redirige al usuario al momento del envío

Estoy creando una aplicación web usando NodeJS y ExpressJS, tengo un formulario de inicio de sesión en mi sitio web que, cuando se completa, envía una solicitud de publicación al servidor. El servidor maneja esta solicitud y los encuentra en la base de datos de MongoDB, incluso adjunta la clave de sesión como una cookie y el usuario termina recibiendo eso, pero no está siendo redirigido a la página del panel, ni siquiera redirigido en absoluto. Su sesión no se agota y el navegador no está esperando una respuesta.

 app.post('/login', function(req, res){ var email = req.body.email; var password = req.body.password; User.findOne({'email' : email}, function(err, user){ if (err) { console.log(err); } if (user) { var hash = user.password; if (passwordManagement.verifyPassword(password, hash)) { var newSession = webSession.generateKey(email) webSession.SessionKeys.push(newSession); res.cookie('session', newSession.key); res.redirect('/dashboard') } } else { res.redirect('/login'); } }) });
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Hay algunos problemas de ruta de control presentes en su código.

  1. No está saliendo, si hay un error al encontrar al usuario por correo electrónico.
  2. No está haciendo nada, si el usuario está presente para el correo electrónico, pero la contraseña no coincide.

Es posible que desee volver a escribir de la siguiente manera:

 app.post('/login', function(req, res, next){ var email = req.body.email; var password = req.body.password; User.findOne({'email' : email}, function(err, user){ if (err) { console.log(err); return next(err); } if(!user) { return res.redirect('/login'); } var hash = user.password; if (!passwordManagement.verifyPassword(password, hash)) { return res.redirect('/login'); } var newSession = webSession.generateKey(email) webSession.SessionKeys.push(newSession); res.cookie('session', newSession.key); res.redirect('/dashboard') }) });

Tenga en cuenta que he agregado next parámetro al controlador de ruta y lo uso en caso de error. Además, he reescrito el código para una mejor legibilidad.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!