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

185
Vistas
¿Cómo hacer que este parámetro de ruta funcione?
//jshint esversion:6 const express = require("express"); const bodyParser = require("body-parser"); const ejs = require("ejs"); const { redirect } = require("express/lib/response"); const { forEach } = require("lodash"); const homeStartingContent = "Lacus vel facilisis volutpat est velit egestas dui id ornare. Semper auctor neq"; const aboutContent = "Hac habitasse platea dictumst vestibulum rhoncus est pellentesque.."; const contactContent = "Scelerisque eleifend donec pretium vulputate sapien."; let posts = []; const app = express(); app.set('view engine', 'ejs'); app.use(bodyParser.urlencoded({extended: true})); app.use(express.static("public")); app.get("/", function(req, res){ res.render("home",{startingContent:homeStartingContent,posts:posts}); }) app.get("/about", function(req, res){ res.render("about",{aboutContent:aboutContent}); }) app.get("/contact", function(req, res){ res.render("contact ",{contactContent:contactContent}); }) app.get("/compose", function(req, res){ res.render("compose"); }) app.post("/compose", function(req,res){ const post = { title:req.body.postTitle, content:req.body.postBody }; posts.push(post); console.log(posts) res.redirect("/"); }) app.get("/posts/:postName",function(req, res){ const requestedTitle = req.params.postName; posts.forEach(function(post){ console.log(requestedTitle); const storedTitle =req.body.postTitle; console.log(storedTitle); if(storedTitle===requestedTitle){ console.log("match found"); } else{ console.log("Not a match"); } }); }); app.listen(3000, function() { console.log("Server started on port 3000"); });

Tengo un problema con app.get("/posts/:postName",function(req, res){ y const storedTitle =req.body.postTitle; el problema es cada vez que ejecuto http://localhost:3000/posts/ Prueba en el navegador Se supone que debo obtener el resultado como coincidencia encontrada, pero cuando registro el título almacenado en la consola para depurar, lo obtengo como indefinido en lugar de Prueba .

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

En lugar de const storedTitle =req.body.postTitle; debe usar const storedTitle = post.title;

about 4 years ago · Juan Pablo Isaza Denunciar

0

Obtiene undefined en el registro debido a las siguientes líneas:

 const storedTitle =req.body.postTitle; console.log(storedTitle);

Porque las solicitudes GET no tienen body .

Cambie esas líneas de la siguiente manera:

 const storedTitle = post.title; console.log(storedTitle);

Supongo que es un error de copiar/pegar de /compose handler :-)

¡Buenos días!

about 4 years ago · Juan Pablo Isaza Denunciar

0

No puede usar req.body en una solicitud GET. Debería usar POST app.post("/posts/:postName",....

o

const storedTitle =req.query.postTitle;

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