繁体   English   中英

如何仅在.JSON发生更改时刷新页面?

[英]How do I only refresh page when there is a change in the .JSON?

当“ Stockdata1.JSON”文件中进行更改时,我只需要重新加载浏览器即可。 希望有人能帮忙。

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

我会通过字符串比较来实现它,要么通过接收字符串,然后将其解析为一个对象,要么通过字符串化。由于上述片段,我选择后者:

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有更深入的了解,但这一点都不困难,而且毕竟在某些时候您仍然需要这些知识。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM