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

129
Vistas
POST http://localhost:3001/createPost 404 (No encontrado) EXPRESO Y REACCIÓN

Estoy tratando de pasar datos a través de Axios, desde una página creada con React, a una base de datos Mongo administrada por un servidor Express. Guardar en la base de datos funciona para los usuarios, pero para las publicaciones recibo estos mensajes de error:

POST http: // localhost: 3001 / createPost 404 (No encontrado)

Error no detectado (en promesa): la solicitud falló con el código de estado 404 en createError (createError.js:16) en la liquidación (settle.js:17) en XMLHttpRequest.onloadend (xhr.js:66)

¿Puede alguien ayudarme? Adjuntaré el código a continuación.

Aplicación.jsx

 function App(){ return ( <Router> <Route path="/" exact> <Home /> </Route> <Route path="/new"> <NewPostFromHome /> </Route> </Router> ); }

index.js (servidor)

 const app = express(); app.use(cors()); app.use(express.json()); //Database connection mongoose.connect("mongodb://localhost:27017/codingWaifus", {useNewUrlParser: true}, function(err, db){ if(err){ console.log(err); } else{ console.log("Connected to "+mongoose.connection.name+" on Port: "+mongoose.connection.port); } }); mongoose.connection.on('error', console.error.bind(console, 'MongoDB connection error:')); app.use("/", require("./routes/userRoute")); app.use("/new", require("./routes/postRoute")); app.listen(3001, () => { console.log("running on port 3001"); });

postModelo.js

 const mongoose = require("mongoose"); const postsSchema = { title: String, body: String } const Post = mongoose.model("Post", postsSchema); module.exports = Post;

postRoute.js

 const express = require("express"); const router = express.Router(); const Post = require("../models/postModel"); router.route("/createPost").post((req, res) => { const title=req.body.title; const body=req.body.body; const newPost = new Post({ title, body }); newPost.save(); }) module.exports = router;
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

parece que el problema que tienes es que el postRoute esta bajo el

 app.use("/new", require("./routes/postRoute"));

Aquí puede ver que usó la ruta "/ nueva", por lo que la URL final sería

http: // localhost: 3001 / nuevo / createPost

si usa esta URL, debería funcionar correctamente

o también puede eliminar la palabra "nueva" para mantener solo esto:

 app.use("/", require("./routes/postRoute"));

para obtener más detalles al respecto, consulte esta documentación de middleware en express: https://expressjs.com/en/guide/using-middleware.html

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