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

133
Views
No se puede publicar / en express js

Tengo el siguiente código y también he definido la respuesta para POST/messages pero cuando voy a /bc/add y envío un formulario, muestra que Cannot POST /messages .
¿Puedes explicarme el motivo? Aquí está mi código:

 const express = require("express"); const bodyParser = require("body-parser"); const app = express(); app.use(bodyParser.urlencoded({ extended: false })); app.use("/bc/add", (req, res, next) => { console.log("In the next middleware !", req.url); res.send( '<form action="/messages" method="post"><input type="text" name="message"><button type="submit">Submit </button></form>' ); app.use("/s", (req, res, next) => { res.send("hup"); }); app.post("/messages", (req, res, next) => { console.log(req.body); console.log("In the middleware !", req.url); res.redirect("/s"); }); }); app.use("/favicon.ico", (req, res, next) => { console.log("In the middleware !", req.url); res.sendStatus(204); }); app.listen(3000, () => { console.log("Server running at port 3000"); });
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Está declarando controladores dentro de un middleware, que no es como funciona Express.

Los controladores deben declararse en el "nivel superior":

 app.use("/bc/add", (req, res, next) => { console.log("In the next middleware !", req.url); res.send( '<form action="/messages" method="post"><input type="text" name="message"><button type="submit">Submit </button></form>' ); }); // end of the "middleware" app.use("/s", (req, res, next) => { res.send("hup"); }); app.post("/messages", (req, res, next) => { console.log(req.body); console.log("In the middleware !", req.url); res.redirect("/s"); });

Además de eso, hablando semánticamente, los controladores para /bc/add/ y /s no son middleware, sino controladores de ruta. Es mejor declararlos como tales explícitamente, usando app.get() en lugar de app.use() .

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!