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

220
Vistas
El valor de req.body es una API REST indefinida

Estoy creando una aplicación REST API. Tengo un front-end (Nuxt.js) y una API (Express.js), y estoy tratando de enviar datos desde el front-end a la API. Api funciona en el puerto 3001 y al frente en el puerto 8010.

Entonces, el envío de datos se ve así:

Función en el frente:

 methods: { async postTip() { const test = await postTipFunc({ content: this.tipContent }) } }

Aquí está la función postTipFunc (project_front/api/index.js) :

 import axios from "axios"; process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0' const api = axios.create({ baseURL: 'http://localhost:8010/', headers: { 'Content-Type': 'application/json' } }) export const postTipFunc = async payload => { const { data } = await api.post(`pt`, payload) return data }

Aquí está el punto final que va al back-end (project_front/server/routes/index.js) :

 process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0' const { Router } = require('express') const axios = require('axios') const dotenv = require('dotenv') dotenv.config() const api = axios.create({ baseURL: "http://localhost:3001/", }) const router = Router() router.post(`/pt`, async (req, res) => { try { const data = await api.post(`/post-tip`, req.body) res.json(data.data) } catch (e) { console.log(e) } }) module.exports = router

Y finalmente back-end (prodect_api/src/routes/index.js) :

 const router = require('express').Router(); const wrapAsync = require('./../middlewares/async') const tipController = require('../controllers/tip') router.post( "/post-tip", wrapAsync(tipController.postTip) ) module.exports = router;

En realidad, esa función tipController.postTip solo recibe datos y los muestra en la consola, por lo que no tiene sentido mostrarlos.

Además, si puede ayudar, console.log() muestra datos solo aquí: project_front/api/index.js . Después de ese punto todo está undefined

Entonces, ¿cómo puedo solucionarlo?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Bien, aquí está la respuesta, para que las cosas funcionen, necesita instalar body-parse en su API. Así:

 const bodyParser = require("body-parser"); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({extended: true}));

¡Espero que ayude a alguien!

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