Tengo un sitio de blog simple que usa EJS, Express y Axios. Sin marco frontend: JS y EJS simples. Todavía soy relativamente nuevo en Express y Axios. Intentando hacer una solicitud POST simple con Axios al archivo del enrutador router.post("/admin/posts/create-post", adminCreatePost) y obtener un POST http://localhost:3000/admin/posts/create-post 404 (Not Found) error en la consola del navegador.
La función adminCreatePost es de un archivo de controlador separado. Comenté todo el código y puse un simple console.log("hello from the controller") en el controlador y registra el mensaje, pero aún recibe el error 404 en la consola del navegador. Entonces, el adminCreatePost requerido no parece ser el problema.
Revisé tres veces la url que paso a la llamada POST de Axios. Intenté una solicitud GET simple con Axios para asegurarme de que Axios en sí no fuera el problema: la solicitud GET funcionó.
Estoy seguro de que probablemente sea algo simple/tonto en lo que no estoy pensando ni pasando por alto. ¿Alguna idea?
Si necesita más información, feliz de responder.
document.getElementById('save-post-button').addEventListener('click', (event) => { event.preventDefault(); let postContent = []; let textAreas = document.getElementsByTagName('textarea'); const arrayOfTextAreas = Array.prototype.slice.call(textAreas); arrayOfTextAreas.forEach(element => { const block = new Object(); block.type = element.dataset.blockType; block.contents = element.value; console.log(block); postContent.push(block); }) let newPost = { postReadyToView: Boolean(document.getElementById('new--ready-for-viewers').value), postPath: document.getElementById('new--post-path').value, postTitle: document.getElementById('new--post-title').value, postDate: document.getElementById('new--email-subscribers-date').value, postUpdateDate: null, postContent: postContent }; axios.post("/admin/posts/create-post", newPost) .then(res => console.log(res)) .catch(error => console.log(error)) }) const {postREQ_adminCreatePost } = require("./controllers/controllerAdmin"); router.post("/admin/posts/create-post", postREQ_adminCreatePost) module.exports = router; exports.postREQ_adminCreatePost = (req, res, next) => { console.log('hello from controller'); next(); }