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

167
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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