按时更改值 PHP/AJAX

Change value on time PHP/AJAX

我有这段代码可以在点击时更改值

$.post('test.php', {val:value}, function (data) {
var value = document.getElementById('value');
val.value = value;
}

我需要按时更改值(例如 10 秒)我如何使用 Ajax 来做到这一点?

如果我理解正确,你需要调用服务器(即"poll")并根据设定的时间间隔获取最新值。如果是这种情况,您应该查看 setInterval() 函数并让它调用您的更新方法。例如:

function update() {
   $.post('test.php', {val:value}, function (data) {
       var value = document.getElementById('value');
       val.value = value;
   }
}

// Call every 10 seconds
var seconds = 10;
var int = setInterval(update, seconds * 1000);

请注意,这种轮询,尤其是在 Apache 上(我的猜测,因为你标记了 PHP)如果你有大量流量并有效地对你自己的网络服务器进行 DDOS,可能会很快用完你的最大连接数。

既然你在 10 秒后说:

您要使用setTimeout函数,在以毫秒为单位指定的延迟之后

function postValue() {
   $.post('test.php', {val:value}, function (data) {
       var value = document.getElementById('value');
       val.value = value;
   }
}

现在我们将点击处理程序设置为在 10 秒超时后调用 postValue 函数

var seconds = 10;
$('#button').click(function(){
    setTimeout(postValue, seconds * 1000)
});