Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

465
Visualizações
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.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

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".

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda