首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSON jQuery Refresh

JSON jQuery Refresh
EN

Stack Overflow用户
提问于 2020-10-23 19:48:24
回答 2查看 48关注 0票数 0

我希望每秒钟通过javascript/jQuery将数据重新加载到html div id元素中。最初的加载(就绪状态)工作得很好,但是在刷新过程中(通过setInterval())不能工作,我只是一个业余程序员,非常感谢您的帮助。

代码语言:javascript
复制
$(document).ready(function() {
  $.getJSON('db/blackmagic/webscripts/jquery_gpio.php', function(json_php) {
      document.getElementById("jq_zeitstempel").innerHTML = json_php.jq_zeitstempel;
      document.getElementById("jq_bcm05").innerHTML = json_php.jq_bcm05;
      document.getElementById("jq_bcm06").innerHTML = json_php.jq_bcm06;

      setInterval(function() {
          $.getJSON('db/blackmagic/webscripts/jquery_gpio.php', function(json_php_refresh) {
              document.getElementById("jq_zeitstempel").innerHTML = json_php_refresh.jq_zeitstempel;
              document.getElementById("jq_bcm05").innerHTML = json_php_refresh.jq_bcm05;
              document.getElementById("jq_bcm06").innerHTML = json_php_refresh.jq_bcm06;
            }


          }, 1000);

      });
  });
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-23 20:04:41

Ex 1

如果您想要执行请求,而不管以前是否完成了--您可以将整个逻辑封装在setInterval中,如下所示:

代码语言:javascript
复制
$(document).ready(function () {
    setInterval(function() {
        $.getJSON("db/blackmagic/webscripts/jquery_gpio.php", function (json_php) {
            document.getElementById("jq_zeitstempel").innerHTML = json_php.jq_zeitstempel;
            document.getElementById("jq_bcm05").innerHTML = json_php.jq_bcm05;
            document.getElementById("jq_bcm06").innerHTML = json_php.jq_bcm06;
        });
    }, 1000);
});

Ex 2

但是,如果您的需要在前面的完成后等待一秒钟,您可以在这里执行某种递归。

代码语言:javascript
复制
$(document).ready(function () {
    function getJSON() {
        $.getJSON("db/blackmagic/webscripts/jquery_gpio.php", function (json_php) {
            document.getElementById("jq_zeitstempel").innerHTML = json_php.jq_zeitstempel;
            document.getElementById("jq_bcm05").innerHTML = json_php.jq_bcm05;
            document.getElementById("jq_bcm06").innerHTML = json_php.jq_bcm06;

            setTimeout(getJSON, 1000);
        });
    }

    getJSON();
});

它是如何工作的

在第一个示例中,它只是每秒钟调用一次函数。

在第二步,我们包装您的函数,并在请求结束时调用自己,等待一秒钟之后。

票数 1
EN

Stack Overflow用户

发布于 2020-10-23 20:00:00

我会创建一个函数来代替,然后在间隔中调用它。

代码语言:javascript
复制
loadjSON = function() {
  $.getJSON('db/blackmagic/webscripts/jquery_gpio.php', function(json_php) {
    document.getElementById("jq_zeitstempel").innerHTML = json_php.jq_zeitstempel;
    document.getElementById("jq_bcm05").innerHTML = json_php.jq_bcm05;
    document.getElementById("jq_bcm06").innerHTML = json_php.jq_bcm06;
  });
}

$(document).ready(function() {
  setInterval(loadjSON, 1000);
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64506449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档