我希望每秒钟通过javascript/jQuery将数据重新加载到html div id元素中。最初的加载(就绪状态)工作得很好,但是在刷新过程中(通过setInterval())不能工作,我只是一个业余程序员,非常感谢您的帮助。
$(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);
});
});发布于 2020-10-23 20:04:41
Ex 1
如果您想要执行请求,而不管以前是否完成了--您可以将整个逻辑封装在setInterval中,如下所示:
$(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
但是,如果您的需要在前面的完成后等待一秒钟,您可以在这里执行某种递归。
$(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();
});它是如何工作的
在第一个示例中,它只是每秒钟调用一次函数。
在第二步,我们包装您的函数,并在请求结束时调用自己,等待一秒钟之后。
发布于 2020-10-23 20:00:00
我会创建一个函数来代替,然后在间隔中调用它。
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);
});https://stackoverflow.com/questions/64506449
复制相似问题