JavaScript - Asignar elemento a variable

 
Vista:
sin imagen de perfil

Asignar elemento a variable

Publicado por Brayan (1 intervención) el 07/06/2022 23:28:17
Muy buenas tardes, bien nuevo en este foro, un gusto en saludar esta comunidad inteligente. Recientemente me estoy iniciando en la programación de aplicaciones, y estoy en un proyecto donde un equipo electrónico usa el web server para el envió de datos en una pagina alojada dentro de su memoria en formato HTML, JavaScript, CSS.

La integración esta funcionando perfectamente, salvo que se requiere representar los datos de :="webdata".pres_1: en una variable definida en JavaScript en el archivo bar_chart.js.

Podrían ayudarme un poco ya que he definido las variables en JavaScript de la siguiente manera :

1
let get_pressure = [0,0,0,0,0,0,0];

Lo que pretendo hacer es asignar el valor leído de :="webdata".pres_1: en la posición 0 del array:

1
get_pressure[0] = :="webdata".pres_1:

El archivo de inicio HTML seria Home.html, el archivo de JavaScript es bar-chart.js, cargado previamente en el código de Home.html, el archivo de recepción de datos es plc_io.html donde solo tiene un código de recepción :="webdata".pres_1
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Ivan

Asignar elemento a variable

Publicado por Ivan (118 intervenciones) el 08/06/2022 19:15:18
Hola,

en primer lugar, cuando se programa algo, hay que saber en qué ámbito estás programando, es decir:

Si estas programando dentro de una página HTML, debes tener presente que el código esperado es HTML
Si estás programando en un script de JavaScript, debes tener presente que el código esperado es JS.

En tu caso dices que se requiere representar los datos de :="webdata".pres_1: en una variable definida en JavaScript en el archivo bar_chart.js.

Por tanto estamos programando en JavaScript y tu instrucción

1
get_pressure[0] = :="webdata".pres_1:

Evidentemente da error ... Porqué?

Pues porque en JavaScript después de
1
get_pressure[0] =

simplemente espera un valor, ya sea un número como
1
get_pressure[0] = 1234;

o una cadena de texto como
1
get_pressure[0] = "mi texto";

o una variable que representa un dato como
1
get_pressure[0] = mi_variable;

Tu código
1
:="webdata".pres_1:

dentro del ámbito JavaScript no devuelve nada y tampoco devolverá nunca nada porque JavaScript se ejecuta en el lado del cliente, cuando ya se ha cargado la página, y por tanto, no tiene capacidad de "pedir datos", como en cambio sí podría hacerse con PHP o AJAX.

A mi entender, falta saber qué tipo de fuente devuelve esos datos, puesto que debe ser una fuente HTML, ya que estamos programando en un entorno HTML y esos datos deben poderse representar en JavaScript.

Pongo un ejemplo real a ver si se me entiende mejor:

En una web de tipos de trabajo que realizo tengo una carpeta "fotos" con todas mis fotos guardadas y en mi base de datos almaceno una serie de fotos por cada tipo de trabajo que realizo, por ejemplo en "Albañiería" tengo las fotos guardadas 'fotos/1246134539G.jpg', 'fotos/1246134540G.jpg', 'fotos/1246134537G.jpg', 'fotos/1247161361G.jpg'.

Cuando llamo a mi página con el trabajo "Albañirería", utilizo PHP para construir el código fuente de la página HTML. De este modo recupero las fotos de la base de datos y escribo en el código fuente de la página HTML el siguiente código JavaScript:

1
2
3
4
5
6
7
8
9
10
11
<script type="text/javascript">
var imgList = [];
imgList[0] = new Image();
imgList[0].src = 'fotos/1246134539G.jpg';
imgList[1] = new Image();
imgList[1].src = 'fotos/1246134540G.jpg';
imgList[2] = new Image();
imgList[2].src = 'fotos/1246134537G.jpg';
imgList[3] = new Image();
imgList[3].src = 'fotos/1247161361G.jpg';
</script>

Como puedes ver, debo escribir los datos de modo que JavaScript lo "entienda" y ahora el usuario, con la página ya cargada en su navegador web, puede manipular las imágenes con JavaScript a su antojo, como por ejemplo pasando las imágenes a modo de un "carrusel" previamente configurado.

Si en vez de JavaScript quiero mostrar las fotos simplemente en HTML entonces debería usar la siguiente sintaxis al escribir el código fuente de la página:

1
2
3
4
<img src="fotos/1246134539G.jpg" />
<img src="fotos/1246134540G.jpg" />
<img src="fotos/1246134537G.jpg" />
<img src="fotos/1247161361G.jpg" />

En resumen, los datos de tu variable
1
get_pressure[0]:="webdata".pres_1:

deben poder ser devueltos en un entorno HTML y según qué tipo de datos se devuelven deben "traducirse" a JavaScript.
Al hablar de bar_chart.js, entiendo que estás usando la librería gráfica chart.js, por lo que no debería haber problema en guardar objetos en un Array.

Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar