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

357
Vistas
Express js 4x: req.params devuelve un objeto vacío

Intentando obtener parámetros de URL en express js, pero obtuve un objeto vacío.

 var password= require('./routes/password'); app.use('/reset/:token',password);

contraseña.js

 router.get('/', function(req, res, next) { console.log(req.params); res.send(req.params); });

La salida de console.log(req.params) es {}

URL de acceso: http://localhost:3000/reset/CiVv6U9HUPlES3i0eUsNwK9zb7xVZpfHsQNuzMNWqLlGA4NJKoagwbcyiUZ8

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

De forma predeterminada, los enrutadores anidados no pasan ningún parámetro que se use en rutas de montaje desde sus enrutadores principales.

En su caso, la app es el enrutador principal, que usa /reset/:token como ruta de montaje, y el router es el enrutador anidado.

Si desea que el router pueda acceder a req.params.token , créelo de la siguiente manera:

 let router = express.Router({ mergeParams : true });

Documentado aquí .

about 4 years ago · Santiago Trujillo Denunciar

0

Estás confundiendo parámetros y consultas.

Enfoque de consulta

Su código debería verse así cuando use valores de consulta para la URL de ejemplo: www.example.com?token=123&foo=bar

 router.get('/', function(req, res, next) { console.log(req.query); console.log(req.query.token); // to log value of token console.log(req.query.foo); // to log value of foo res.send(req.query); });

Enfoque de parámetros

Su código debería verse así cuando use valores de parámetros para la URL de ejemplo: www.example.com/123

 router.get('/:token', function(req, res, next) { console.log(req.params); console.log(req.params.token); // to log value of token res.send(req.params); });
about 4 years ago · Santiago Trujillo Denunciar

0

En su lugar, puede usar un middleware para registrar los parámetros de la ruta:

 const logger = (req, res, next)=>{ console.log(req.params) res.send(req.params) next()//<----very important to call it. }; app.use(logger); //<----use to apply in the app router.get('/', (req, res, next)=>res.send('Logged.'));
about 4 years ago · Santiago Trujillo 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