Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

132
Vistas
Redirección exprés

Estoy tratando de redirigir al usuario después de que se haya validado el registro. Vea el código a continuación, nunca funcionó con todo lo que probé. También probé en la parte delantera con

 <Redirect=to"/login" />

tampoco fue un éxito. Estoy tratando de redirigir a: http://localhost:3000/login, el backend está actualmente en el puerto 5000. También veo esos errores en la consola:

 Access to XMLHttpRequest at 'http://localhost:3000/login' (redirected from 'http://localhost:5000/users/signup') from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. GET http://localhost:3000/login net::ERR_FAILED createError.js:16 Uncaught (in promise) Error: Network Error at createError (createError.js:16) at XMLHttpRequest.handleError (xhr.js:99)

Mi primer pensamiento fue que el encabezado no está configurado, pero está en mi app.js

 app.use((req, res, next) => { res.setHeader("Access-Control-Allow-Origin", "*"); res.setHeader( "Access-Control-Allow-Headers", "Origin, X-Requested-With, Content, Accept, Content-Type, Authorization" ); res.setHeader( "Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, PATCH, OPTIONS" ); next(); });

Gracias por adelantado

 exports.signup = (req, res) => { bcrypt.hash(req.body.password, 10).then((hash) => { const user = { lastName: req.body.lastName, firstName: req.body.firstName, email: req.body.email, password: hash, }; User.create(user) .then(() => { res.redirect(301, 'http://localhost:3000/login'); }) .catch((error) => res.status(500).json({ message: "Impossible de créer l'utilisateur. " + error })); }); };
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

res.status(200).redirect('login');

(EDITAR) Esto devolverá 200 y redirigirá al usuario desde el backend.

Esta es mi solución desde el principio, si lo desea.

En la interfaz, puede redirigir a la ubicación deseada usando window.location.replace('/login') después de que el expreso devuelva un valor.

Lo que quiero decir con esto es que después de validar al usuario en su Express API, devuelva 200 a través res.status(200).send() para que su interfaz sepa que este usuario puede ser redirigido.

Un ejemplo con jQuery:

Interfaz

 <script> $.get('http://localhost:3000/login', function(data, status, jqXHR) { if (status === 200) { window.location.replace('redirect-location.html') } else { // What to do if the status isn't 200 } }) </script>

Back-End:

 app.get('/login', (res, req, err) => { // Validate const result = validatefunction() // true if login matches, false otherwise if (result) { res.status(200).send() } else if (!result) { res.status(400).send() } else { res.status(500).send() } })

Espero haber ayudado.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda