我们如何实现计时器每隔一分钟发送一个ajax请求来刷新数据(比如数据库上其他用户的新条目)。我在jquery中使用$ .ajax。
我的目的是发送上次更新的时间,以便服务器不发送重复数据。仅在该时间之后创建的行。
我的服务器脚本是php。
答案 0 :(得分:2)
发送日期和时间您可以使用此功能
var date = new Date();
var date = date.getUTCFullYear() + '-' +
('00' + (date.getUTCMonth()+1)).slice(-2) + '-' +
('00' + (date.getUTCDate()).slice(-2) + ' ' +
('00' + date.getUTCHours()).slice(-2) + ':' +
('00' + date.getUTCMinutes()).slice(-2) + ':' +
('00' + date.getUTCSeconds()).slice(-2);
上面将以mysql格式格式化日期和时间,您将通过变量传递给mysql查询,然后使用setInterval
在每分钟后传递当前时间
setInterval(function(){
$.ajax({
type:"POST",
data:"Time="+ date,
url:"serverRef",
success: function(data){
// On success
}
});
},60000);
注意:您也可以在服务器端使用相同的技术
答案 1 :(得分:1)
setInterval
可以创造奇迹。确保你有很多访问者,记得要缓存,否则你可以在不注意的情况下提出大量的查询,过去我注意到这些问题可能会使一些主机不堪重负并且基本上让你脱机。
var ajax = window.setInterval(function(){
$.post('path/to/my/script.php', function(data){
if(data == "stop")
{
clearInterval(ajax);
return;
}
$('#statistics').html(data);
});
}, 60000);