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

396
Vistas
El objeto Javascript viene vacío en el lado del servidor

Tengo un script del lado del cliente ejecutándose para enviar la cadena "Y" al servidor. Configuré un archivo console.log en el lado del cliente (que puedes ver a continuación) y otro en el lado del servidor. El del lado del cliente funciona, pero el que registra un objeto "vacío"... simplemente muestra "{}". ¿Cómo hago para que mis datos permanezcan en el objeto?

 const status = "Y"; const options = { method: 'POST', headers: { 'Content-type': 'application/json' }, body: status fetch('/events/<%- event.id %>/prompt', options) console.log(options.body)

Aquí está mi ruta para el contexto:

 router.route('events/:id/prompt') .get(catchAsync(events.showPrompt)) .post(catchAsync(events.checkIn))

Y mi controlador:

 module.exports.checkIn = async(req, res) => { console.log(req.body); }

¿Cómo consigo que el objeto llegue al servidor?

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

0

Para enviar "y" como contenido y recibirlo en Express, necesita dos cosas:

  1. Debe asegurarse de que el content-type esté configurado en text/plain en la solicitud.

  2. Necesita el middleware apropiado que leerá ese text/plain cuerpo sin formato.

    app.use(express.text())

Luego, encontrará el cuerpo en req.body dentro de cualquier controlador de solicitud expresa registrado después del middleware anterior.


También puede elegir diferentes tipos de contenido, como application/json , el middleware correspondiente para ese content-type app.use(express.json())` y luego formatear los datos del cuerpo en ese formato.


Es importante darse cuenta de que Express no lee por sí mismo el cuerpo de una solicitud entrante. Lee los encabezados, pero no el cuerpo por defecto. Si desea que se lea el cuerpo, entonces necesita un middleware que busque cualquier content-type que tenga la solicitud entrante, lea el cuerpo, lo analice desde cualquier formato y coloque los datos analizados resultantes en req.body . Express viene con una serie de middleware incorporados para tipos de contenido populares.

about 4 years ago · Juan Pablo Isaza Denunciar

0

El estado es una cadena. Sin embargo, el cuerpo debe tomar un objeto con un par clave-valor. Si envía como con como a continuación, obtendrá un objeto que contiene el estado en el lado del backend.

 body: {status: status}
about 4 years ago · Juan Pablo Isaza Denunciar

0

Problema de:

  • Cliente: elige Content-type': 'application/json' , por lo que su cuerpo debe tener formato json, algo así como body: {status} . Asegúrese de enviar el objeto exacto con la depuración del navegador, ya que algunos paquetes de API de llamadas pueden cambiar el valor de la solicitud.
  • Servidor: algunos marcos de nodejs necesitan analizar el valor que se envía desde el cliente antes de leerlo (Exp: app.use (express.json()) con Express)
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