如何在.JSON中发生变化时才刷新页面?

时间:2017-08-19 21:25:31

标签: javascript json

我需要浏览器才能在'Stockdata1.JSON'文件中进行更改时重新加载。希望有人能提供帮助。

    $.getJSON('Stockdata1.json', function (data) {
            datastr = JSON.stringify(data);
            document.write(datastr);
    setTimeout(function(){
        window.location.reload(1);
    }, 5000);
    });

1 个答案:

答案 0 :(得分:0)

我希望通过字符串比较,通过接收字符串然后将其解析为对象,或通过字符串化...我使用后者,因为上面的片段:

var currentDataString;
$.getJSON('stockdata1.json', function(data) {
  var resultAsString = JSON.stringify(data);
  if (!currentDataString) currentDataString = resultAsString;

  if (currentDataString !== resultAsString) {
    window.location.reload(1);
  }
})

注意

我在这里看到一种误解。

在您重新加载的时候,数据可能会再次发生变化,这意味着您将错过一次。

进一步艰难

就像Rickard所提到的,如果您需要的只是在JSON中,则可以动态更新DOM。你不必重新装载整个世界来植树。

根据您的需要,您可以只更新要显示更改的表格,如果整个页面突然重新加载,它也不是非常用户友好。

显然这需要一些关于JS和DOM的更深入的知识,但这并不困难,毕竟在某些时候你还需要这些知识。