Soy muy nuevo en JavaScript y trato de mostrar los valores más recientes de un archivo .json, que se actualiza cada 10 segundos, en una página HTML. También leo el archivo cada 10 segundos, pero no obtengo los valores más recientes del archivo. Obtengo valores que son 50 a 60 segundos más antiguos.
Intenté deshabilitar el caché del navegador en Chrome, pero sigo teniendo el mismo problema. ¿Puede alguien por favor ayudar en esto?
Mi código JavaScript para leer el archivo json es el siguiente:
function readJsonFile(callback) { var request = new XMLHttpRequest(); request.open('GET', 'http://localhost:8080/PersonalProject/filename.json'); request.onload = function() { if(request.status>=100 && request.status<=100) { //perform some operation callback(request.responseText); } else{ //perform some operation callback('FAILED'); } }; request.onerror = function() { console.error('Connection error'); }; request.send(); } setInterval(function(){ readJsonFile(function(stat){ console.log(stat); }); }, 10000);Puede agregar una marca de tiempo como parámetro en su solicitud para evitar el caché del navegador:
... let ms = Date.now(); request.open('GET', 'http://localhost:8080/PersonalProject/filename.json?ms' + ms); ...Lo hago cada vez que necesito actualizar los archivos js y css cuando se solicita desde el encabezado html y funciona