• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
    • Preguntas
    • Profesores
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Pruebas Online
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

319
Vistas
Errores inexplicables de Node JS "Cannot POST/GET"

Tengo un NodeJS SPA con un comportamiento extraño y para eso DEBO usar "fuerza bruta" para hacer que express.static() funcione:

 app.use('*/images', express.static(path.join(__dirname + '/public/images')));

Ahora estoy enfrentando un problema en otra URL que debo hacer un pedido POST:

(Imagen de Google Chrome)

En el punto rojo: Error al cargar el recurso: el servidor respondió con un estado de 404 ()

Ese es el archivo server.js:

 // Load Node modules var express = require('express'); const bodyParser = require('body-parser'); const path = require('path'); const ejs = require('ejs'); var falaUser = require('./routes/falaUser'); (...) // Render static files app.use(bodyParser.json()); app.use('*/images', express.static(path.join(__dirname + '/public/images'))); app.use('*/js', express.static(path.join(__dirname + '/public/js'))); app.use('*/css', express.static(path.join(__dirname + '/public/css'))); app.use('*/slick-1.8.1', express.static(path.join(__dirname + '/public/slick-1.8.1'))); app.use('*/falauser', falaUser); (...) // Root Route app.get('/strapiClient/', function (req, res) { res.render('pages/index'); });

Ese es el archivo de ruta falaUser.js:

 const express = require('express'); const router = express.Router(); const axios = require('axios'); var config = require("config"); router.post('/strapiClient', function (req, res, next) { console.log(req.body); axios .post(config.get("botUrl"), req.body ) .then((dataBot) => { console.log(dataBot.data.responses); res.json({ "responses": dataBot.data.responses }); }) .catch((error) => { console.error(error); res.status(500).json(error); }) });

El resultado de .catch(error) es SyntaxError: token inesperado < en JSON en la posición 0

Para asegurarme de que el problema se debe al enrutamiento, probé con una solicitud GET, poniendo este código en falaUser.js:

 router.get('/strapiClient', function (req, res) { res.json({ fruta: 'lichia' }); });

Y tuve el error "Cannot GET /strapiClient/falauser"...

¿Alguna pista sobre cómo profundizar en él?

La página está aquí , si quieres echarle un vistazo: ve al final de la página y escribe "opa" en el área del chatbot.

almost 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

app.use("/path1", router.post("/path2", ...))

solo coincide con las POST /path1/path2 . En su caso, path2 = "strapiClient" , por lo tanto, la URL POST debe terminar con /strapiClient y POST /strapiClient/falauser no coincide.

Consulte la siguiente oración en la documentación del Router :

La ruta de "montaje" se elimina y no es visible para la función de middleware. El principal efecto de esta característica es que una función de middleware montada puede operar sin cambios de código, independientemente de su nombre de ruta de "prefijo".

almost 3 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda