我有这个代码,可以点击
更改值$.post('test.php', {val:value}, function (data) {
var value = document.getElementById('value');
val.value = value;
}
我需要按时更改值(例如10秒)我如何使用Ajax做到这一点?
答案 0 :(得分:0)
如果我正确理解您的问题,您需要调用服务器(即“轮询”)并根据设定的时间间隔获取最新值。如果是这种情况,您应该查看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你自己的网络服务器,它可以快速耗尽你的最大连接。
答案 1 :(得分:0)
所以,自从你在10秒后说:
您希望在以毫秒为单位指定的延迟之后使用setTimeout函数
function postValue() {
$.post('test.php', {val:value}, function (data) {
var value = document.getElementById('value');
val.value = value;
}
}
现在我们将click处理程序设置为在超时10秒后调用postValue函数
var seconds = 10;
$('#button').click(function(){
setTimeout(postValue, seconds * 1000)
});