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

164
Visualizações
Análisis de cuerpo JSON de Node Express

Soy un novato en Express, por lo que he investigado bastante sobre este problema, pero no puedo hacerlo bien. Así que necesito pasar una matriz como esta ["1","2","3","4","5"] como una carga útil de Frontend, y en Express necesito aceptarla y hacer cosas con ella . Hasta ahora, puedo enviarlo desde Frontend y recibirlo en Express, pero el contenido de lo que recibo no se ve bien. En el Express recibo:

 POST / 200 3.239 ms - 97 { '"1","2","3","4","5"': '' }

así que no puedo hacer nada con esto. Intenté enviar un objeto llamado params y recibir eso para hacer algo con eso, eso tampoco funcionó.

Los encabezados de frontend son así

 Request URL: http://localhost:5000/ Request Method: POST Status Code: 200 OK Remote Address: [::1]:5000 Referrer Policy: strict-origin-when-cross-origin Access-Control-Allow-Origin: * Connection: keep-alive Content-Length: 36 Content-Type: application/json; charset=utf-8 Date: Mon, 13 Dec 2021 23:06:58 GMT ETag: W/"24-sEnfXlyl7goDTpCx3bZVIGauJsc" Keep-Alive: timeout=5 X-Powered-By: Express Accept: application/json, text/plain, */* Accept-Encoding: gzip, deflate, br Accept-Language: en-US,en;q=0.9 Connection: keep-alive Content-Length: 21 Content-Type: application/x-www-form-urlencoded DNT: 1 Host: localhost:5000 Origin: http://localhost:3000 Referer: http://localhost:3000/ sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="96", "Google Chrome";v="96" sec-ch-ua-mobile: ?0 sec-ch-ua-platform: "Windows" Sec-Fetch-Dest: empty Sec-Fetch-Mode: cors Sec-Fetch-Site: same-site User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36

La configuración rápida que se relaciona con esto es como

 var express = require("express"); ... var app = express(); ... app.use(express.json()); app.use(express.urlencoded({ extended: true })); app.post("/", (req, res) => { res.json({ requestBody: req.body }); });

Entonces, ¿cómo puedo enviar como parte del cuerpo desde la interfaz en ReactJS una matriz ["1","2","3","4","5"] y luego aceptarla como matriz en Express y hacer cosas con ella?

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

0

NO debe enviar un objeto llamado params . Desde su solicitud POST, debe enviar la matriz como una propiedad del cuerpo de la solicitud. Luego estará disponible en la propiedad req.body en la aplicación Express.

about 4 years ago · Juan Pablo Isaza Relatório

0

Lo que muestra como la solicitud:

 POST / 200 3.239 ms - 97 { '"1","2","3","4","5"': '' }

Y, los encabezados que muestra como:

 Content-Type: application/x-www-form-urlencoded

No coinciden. Sus datos se envían como texto sin formato. No es application/json o application/x-www-form-urlencoded por lo que no tiene un analizador de cuerpo instalado, por lo que Express no sabe qué hacer con él. De hecho, Express ni siquiera lo lee, simplemente permanece en el flujo entrante.

No muestra el código del lado del cliente, pero el cliente necesita hacer que el content-type y la codificación del contenido del cuerpo que envía con el POST coincidan realmente. Luego, necesita un analizador de cuerpo para ese content-type en el lado Express de las cosas.

Dado que esto está destinado a ser una matriz de datos, sugeriría usar JSON y enviar datos codificados de aplicación/json. Luego, su middleware express.json() existente lo leerá y analizará por usted y podrá leer los datos en req.body .

Si desea ayuda para arreglar el lado del cliente, muéstrenos el código del lado del cliente que envía esto.

Por ejemplo, si estaba enviando esto desde el cliente con fetch() , aquí hay un ejemplo directamente desde el documento de MDN para fetch() :

 // Example POST method implementation: async function postData(url = '', data = {}) { // Default options are marked with * const response = await fetch(url, { method: 'POST', // *GET, POST, PUT, DELETE, etc. headers: {'Content-Type': 'application/json'}, body: JSON.stringify(data) // body data type must match "Content-Type" header }); return response.json(); // parses JSON response into native JavaScript objects } postData('https://example.com/answer', { answer: 42 }) .then(data => { console.log(data); // JSON data parsed by `data.json()` call });
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