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

171
Vistas
buscar API en reaccionar envía cuerpo vacío

Tengo una aplicación de muestra de reacción que debería publicar datos en nodejs, el código en el lado de reacción se ve así:

 export const RegisterUser = async (user, userContext) => { fetch('http://localhost:3001/user/register', { method: "POST", headers: { "Content-Type": "application/json", "Accept": "application/json" }, body: JSON.stringify({ username: "mjaberster", fullName: "Marwan Jaber", password: "P@$$w0rd1234", email: "mjaberster@gmail.com", phoneNumber: "+972532203407" }), mode: 'no-cors' }).then((res) => { console.log(`Trying to convert response to JSON ${JSON.stringify(res)}`) if(res.ok) { res.json().then(data => { console.log(JSON.stringify(data)) return JSON.stringify(data) }) } else { console.log(res.status) console.log(res.statusText) return `User failed to register due to an error (${res.status}, ${res.statusText}` } }).catch(err => { userContext.loginMsg= err.message userContext.loginStatus= err.status userContext.token= null console.log(`User failed to register due to an error (${err.message}, ${err.status}`) return `User failed to register due to an error (${err.message}, ${err.status}` }) }

y el código en el nodo se ve así:

 server.use(express.json()) server.post(`/user/register`, async (req, res) => { const user = req.body console.log(`>>>> ${user}`) if(!user) { const err = new Error("User must be submited") err.status = 400 throw err } const addedUser = await MongooseConnector.addUser(user) if(addedUser) { res.json({message: "User has been added successfuly"}) } else { res.status(500).json({message: "An error occured, couldn't create user, please try again later"}) } })

Cuando envío el mismo objeto de cuerpo del cartero, obtengo el resultado esperado. Cuando envío la solicitud con el mismo cuerpo de reacción, obtengo: en el registro del nodo:

 >>>> undefined undefined

en el registro de reacción: POST http://localhost:3001/user/register net::ERR_CONNECTION_REFUSED

Me estoy volviendo loco, ayuda por favor :(

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

0

Dijiste mode: 'no-cors' lo que hace que fetch elimine silenciosamente cualquier cosa que requiera permisos CORS. Esto incluye configurar el Content-Type para una solicitud con formato JSON.

Dado que el cliente no le dice al servidor que el cuerpo es JSON, el middleware de análisis del cuerpo no lo está analizando.

No use mode: 'no-cors' .

about 4 years ago · Juan Pablo Isaza Denunciar

0

Acabo de cambiar de fetch a axios, ¡y todo funcionó bien! Aquí esta lo que hice:

 var axios = require('axios'); var data = JSON.stringify({ "username": user.username, "fullName": user.fullName, "password": user.password, "email": user.email, "phoneNumber": user.phoneNumber }); var config = { method: 'post', url: 'http://localhost:3001/user/register', headers: { 'Content-Type': 'application/json' }, data : data }; axios(config) .then(function (response) { console.log(response.data.message); }) .catch(function (error) { console.log(error); });

No estoy seguro de cuál es la razón por la que la función de búsqueda me está haciendo esto, ¡pero tal vez tenga un error!

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