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

488
Vistas
No se puede OBTENER el error para el enrutamiento Express con parámetros:

Recibo un error Cannot GET cuando intento el enrutamiento rápido con parámetros por primera vez y no sé por qué.

Funcionó bien e instalé lodash y ahora ya nada funciona.

Aquí está el código:

 app.get("/posts/:postName"), function (req, res) { let requestedTitle = req.params.postName; posts.forEach(function(post) { let storedTitle = post.title; if (storedTitle === requestedTitle) { console.log('match found'); } else { console.log('no match found'); } }); };

Estoy usando Localhost y cuando trato de ejecutarlo me da un error Cannot Get.

Por ejemplo, ingreso: http://localhost:3000/posts/test Y, por lo general, me mantuvo en la ruta de inicio y la consola registró si coincidía con una de mis entradas anteriores o no.

Tengo instalado Express y todo aquí está el código completo. Pero ya no funcionará después de instalar lodash, ¿ven un error en alguna parte aquí? Estoy mirando esto durante 3 días jajaja:

 //jshint esversion:6 const express = require("express"); const bodyParser = require("body-parser"); const ejs = require("ejs"); const _ = require('lodash'); const homeStartingContent = "text"; const app = express(); let posts = []; app.set('view engine', 'ejs'); app.use(bodyParser.urlencoded({extended: true})); app.use(express.static("public")); app.get("/", function(req, res) { res.render(__dirname + "/views/home.ejs", {homeStartingContent: homeStartingContent, posts: posts}); }); app.get('/about', (req, res) => { res.render('about', {aboutContent: aboutContent}); }); app.get('/contact', (req, res) => { res.render('contact', {contactContent: contactContent}); }); app.get('/compose', (req, res) => { res.render('compose'); }); app.post('/compose', (req, res) => { posts.push(req.body); console.log(posts) res.redirect('/') }); app.get("/posts/:postName"), function (req, res) { let requestedTitle = req.params.postName; posts.forEach(function(post) { let storedTitle = post.title; if (storedTitle === requestedTitle) { console.log('match found'); } else { console.log('no match found'); } }); }; app.listen(3000, function() { console.log("Server started on port 3000"); });

En la documentación de Express, mostró este ejemplo de código y creo que mi código definitivamente debería funcionar. No entiendo por qué no lo es.

 app.get('/users/:userId/books/:bookId', (req, res) => { res.send(req.params) })
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Observe los paréntesis de cierre:

 app.get("/posts/:postName"), function (req, res) { ^

No debería estar allí, sino al final de la función del controlador.

over 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