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

160
Vistas
Javascript: no se pueden enviar valores de objetos actualizados a Node/Express

Estoy creando una aplicación web que debe obtener datos bursátiles específicos para las acciones elegidas por el usuario de Yahoo Finance y luego enviar estos datos a un servidor Node/Express.

PROBLEMA: Todo funciona, excepto que lo que recibe Node/Express son los valores nulos originales en el objeto de JavaScript y no los valores recibidos de Yahoo Finance.

Las definiciones de variables de objetos iniciales se realizan primero en index.js:

 const stockData = { ticker: "", name: "", dateAdd: 0, priceDateAdd: 0, priceNow: 0, movement: 0 };

El método de publicación se define:

 const options = { method: 'POST', body: JSON.stringify(stockData), headers: { "Content-Type": "application/json" }

Frontend, el usuario ahora elige un ticker y se envía una solicitud a la API de Finanzas de Yahoo para obtener valores reales para el objeto stockData para ese ticker. No hay problemas allí. Por ejemplo, para stockData.priceDateAdd, la consola del navegador devuelve el valor 67 para una acción de muestra.

Ahora se ejecuta una función para enviar los valores obtenidos de Yahoo Finance a Node/Express:

 async function sendData() { const response = await fetch('/add', options); const serverData = await response.json(); console.log(serverData);

PERO... la respuesta de Node/Express muestra los valores nulos originales del objeto, no los obtenidos de Yahho Finance, es decir, esta es la respuesta:

 { ticker: '', name: '', dateAdd: 0, priceDateAdd: 0, priceNow: 0, movement: 0 }

Ejecuto un segundo navegador console.log después de la respuesta del servidor, y sigue mostrando el valor correcto de stockData.priceDateAdd como 67.

Pero por alguna razón, el servidor recibe los valores nulos originales. He pasado horas y no puedo resolverlo. Aquí está la esperanza de ayuda.

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

0

Después de más pruebas y errores, he respondido mi propia pregunta:

Moví la definición constante dentro de la función que se llama para enviar los datos, y funcionó. Así que el código es ahora:

 async function sendData() { const options = { method: 'POST', body: JSON.stringify(stockData), headers: { "Content-Type": "application/json" } }; const response = await fetch('/add', options); const serverData = await response.json(); console.log(serverData); }
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