Tengo una hoja de Google donde los datos de stock se actualizan cada 3 minutos. Tengo una página donde puedo ver los datos en la tabla html. pero esos datos no cambian automáticamente. Tengo que actualizar la página o configurar meta <meta http-equiv="refresh" content="30"> para actualizar la página periódicamente.
Quiero que los datos provenientes de JSON deban actualizarse automáticamente sin la actualización de la página. aquí está mi código.
Enlace de objeto JSON
https://docs.google.com/spreadsheets/d/xxxxxxxxxx.jsonDiv para mostrar datos json
<div id="json">json here</div>Javascript para obtener y mostrar datos json
<script type="text/javascript"> var id = 'xxxxxxxxxxxxxxxxxxxx'; var gid = '0'; var url = 'https://docs.google.com/spreadsheets/d/'+id+'/gviz/tq?tqx=out:json&tq&gid='+gid; fetch(url) .then(response => response.text()) .then(data => document.getElementById("json").innerHTML=myItems(data.substring(47).slice(0, -2)) ); function myItems(jsonString){ var json = JSON.parse(jsonString); var table = '<table><tr>' json.table.cols.forEach(colonne => table += '<th>' + colonne.label + '</th>') table += '</tr>' json.table.rows.forEach(ligne => { table += '<tr>' ligne.c.forEach(cellule => { try{var valeur = cellule.f ? cellule.f : cellule.v} catch(e){var valeur = ''} table += '<td>' + valeur + '</td>' } ) table += '</tr>' } ) table += '</table>' return table } </script>Conozco un kickout js de la biblioteca js, pero no puedo implementar y obtener el resultado deseado usando kickout js. Entonces, ¿cómo puedo lograr una tabla que actualice los datos JSON automáticamente sin actualizar la página?
Gracias de antemano.
Debe obtener nuevos datos periódicamente usando setInterval y actualizar las filas de su tabla. Puede asignar una ID única a cada fila y actualizarla en su función que se ejecuta periódicamente.
setInterval(function() { // fetch data here and update rows. }, 180000);