如何在不重新加载 JSON 更新页面的情况下更新 div 的类和内容

翁德雷·卢雷

所以我有一个 JSON 数据库,它根据我更新页面内容的方式经常更新。目前我正在使用此脚本进行重新加载:

var previous = null;
var current = null;
setInterval(function() {
    $.getJSON("sampledatabase.json", function(json) {
        current = JSON.stringify(json);
        if (previous && current && previous != current) {
            console.log('refresh');
            location.reload();
        }
        previous = current;
    });
}, 1200);

问题是它应该用于全屏监控大屏幕,因此重新加载时眨眼会让人分心。

在刷新时(发生在数据库更新时),我正在更改 div 的类,并像这样从数据库中填充更多数据(只是代码的一部分)

    var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
    if (this.readyState == 4 && this.status == 200) {
        var i;
        var output = document.getElementsByClassName("env");
        var myObj = JSON.parse(this.responseText);
        for (i = 0; i < output.length; i++) {
            if (myObj.instances[i].status == "UP") {
                output[i].classList.add("passed")
            } else output[i].classList.add("notPassed")
            output[i].innerHTML = "<span class=\"originalsize\">" + myObj.instances[i].id + "</SPAN>" + "<br>" + myObj.instances[i].time
        }
    }

};
xmlhttp.open("GET", "sampledatabase.json", true);
xmlhttp.send();

有没有办法只更新 div,这样我就不会在页面重新加载时出现令人不快的闪烁?

亚历克斯

您可以$.ajax()按照W3 Schools 的说明使用 jQuery 的方法

这是我的JSFiddle

在我的 Fiddle 中,我还使用了$.each()方法来解析JSON数据并将其附加到 div 中。

function GetPosts() {
  $.ajax({
    dataType: "json",
    url: "https://jsonplaceholder.typicode.com/posts",
    success: function(data) {
      //console.log(data);
      $.each(data, function(index, item) {
        console.log(item);
        $('.container').append('<div class="posts"><div id="post_container"><h3 id="post_title">' + item.title + '</h3><hr><div id="post_body">' + item.body + '</div><hr><span id="post_userid">' + item.id + '</span></div></div>');
      });
    }
  });
}

您还可以使用setInterval()函数来启用自动更新。

在这种情况下,您可以执行以下操作:

let interval;
let time = 5000; // 5 seconds

function startRefresh() {
    interval = setInterval(GetPosts(), time);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在不重新加载页面的情况下刷新div和mysql代码

来自分类Dev

如何在不重新加载页面的情况下刷新div和mysql代码

来自分类Dev

如何在不刷新页面的情况下发布成功后更新页面内容

来自分类Dev

在不重新加载页面的情况下更新div-jQuery / Ajax setInterval

来自分类Dev

如何在不刷新页面的情况下更改路线和内容?(对机器人友好)

来自分类Dev

如何在不刷新页面的情况下连续更新PHP变量?

来自分类Dev

如何在不刷新页面的情况下更新会话存储数据?

来自分类Dev

如何在不刷新页面的情况下检测 Service Worker 更新?

来自分类Dev

导航时如何在不刷新页面的情况下将用户重新定位到另一页面的内容?

来自分类Dev

如何在不重新加载页面的情况下将textarea值转换为有意义的内容?

来自分类Dev

如何使用SPServices更新页面的内容?

来自分类Dev

如何使用SPServices更新页面的内容?

来自分类Dev

如何在不刷新页面的情况下点击按钮后显示本地存储的内容?

来自分类Dev

如何在不重新加载页面的情况下更改标签的类属性和应用样式

来自分类Dev

如何在不重新加载页面的情况下更改标签的类属性和应用样式

来自分类Dev

如何在不重新加载页面的情况下使用laravel ajax发布和获取评论?

来自分类Dev

如何在不使用MathJax刷新页面的情况下动态呈现Tex和LaTex公式?

来自分类Dev

如何使用Express和Connect-Flash在不刷新页面的情况下显示Flash消息?

来自分类Dev

如何在不刷新的情况下从外部页面更新内容div-GAE

来自分类Dev

我有三个div,如何在不重新加载整个页面的情况下刷新第二个div?

来自分类Dev

如何在不刷新页面的情况下格式化模态内容

来自分类Dev

如何在不重复所有内容的情况下制作新页面?(PHP,CSS,HTML)

来自分类Dev

如何在不刷新页面的情况下定期更新数据?

来自分类Dev

如何在不刷新页面的情况下定期更新数据?

来自分类Dev

如果我不小心在地址栏中输入了某些内容,如何在不重新加载页面的情况下获取所访问网站的URL?

来自分类Dev

FB评论和共享在不刷新页面的情况下不会加载

来自分类Dev

如何在不使用井号(#)的情况下通过url打开新页面并滚动到div的新页面?

来自分类Dev

如何在不刷新页面的情况下自动更新值,ionic2 更新值

来自分类Dev

提交按钮后如何更新页面的某些内容

Related 相关文章

  1. 1

    如何在不重新加载页面的情况下刷新div和mysql代码

  2. 2

    如何在不重新加载页面的情况下刷新div和mysql代码

  3. 3

    如何在不刷新页面的情况下发布成功后更新页面内容

  4. 4

    在不重新加载页面的情况下更新div-jQuery / Ajax setInterval

  5. 5

    如何在不刷新页面的情况下更改路线和内容?(对机器人友好)

  6. 6

    如何在不刷新页面的情况下连续更新PHP变量?

  7. 7

    如何在不刷新页面的情况下更新会话存储数据?

  8. 8

    如何在不刷新页面的情况下检测 Service Worker 更新?

  9. 9

    导航时如何在不刷新页面的情况下将用户重新定位到另一页面的内容?

  10. 10

    如何在不重新加载页面的情况下将textarea值转换为有意义的内容?

  11. 11

    如何使用SPServices更新页面的内容?

  12. 12

    如何使用SPServices更新页面的内容?

  13. 13

    如何在不刷新页面的情况下点击按钮后显示本地存储的内容?

  14. 14

    如何在不重新加载页面的情况下更改标签的类属性和应用样式

  15. 15

    如何在不重新加载页面的情况下更改标签的类属性和应用样式

  16. 16

    如何在不重新加载页面的情况下使用laravel ajax发布和获取评论?

  17. 17

    如何在不使用MathJax刷新页面的情况下动态呈现Tex和LaTex公式?

  18. 18

    如何使用Express和Connect-Flash在不刷新页面的情况下显示Flash消息?

  19. 19

    如何在不刷新的情况下从外部页面更新内容div-GAE

  20. 20

    我有三个div,如何在不重新加载整个页面的情况下刷新第二个div?

  21. 21

    如何在不刷新页面的情况下格式化模态内容

  22. 22

    如何在不重复所有内容的情况下制作新页面?(PHP,CSS,HTML)

  23. 23

    如何在不刷新页面的情况下定期更新数据?

  24. 24

    如何在不刷新页面的情况下定期更新数据?

  25. 25

    如果我不小心在地址栏中输入了某些内容,如何在不重新加载页面的情况下获取所访问网站的URL?

  26. 26

    FB评论和共享在不刷新页面的情况下不会加载

  27. 27

    如何在不使用井号(#)的情况下通过url打开新页面并滚动到div的新页面?

  28. 28

    如何在不刷新页面的情况下自动更新值,ionic2 更新值

  29. 29

    提交按钮后如何更新页面的某些内容

热门标签

归档