每秒调用一个php函数并显示一个计时器
当一个人点击开始,计时器显示,我每秒钟调用一次php函数时,我正在尝试处理一些事情。我尝试了一些在线倒计时,但我不知道如何调用该函数每秒调用一个php函数并显示一个计时器,php,jquery,ajax,counter,Php,Jquery,Ajax,Counter,当一个人点击开始,计时器显示,我每秒钟调用一次php函数时,我正在尝试处理一些事情。我尝试了一些在线倒计时,但我不知道如何调用该函数 $("#enter_q").click(function(){ $.ajax({ url: '../page.php', type: 'post', data: {'enter_q': 'true'}, success: function(data, status){ if (data == "ok"){
$("#enter_q").click(function(){
$.ajax({
url: '../page.php',
type: 'post',
data: {'enter_q': 'true'},
success: function(data, status){
if (data == "ok"){
$("#timer").innerHTML = '<p>TIMER IS RUNNING</p>';
}
}, error: function(xhr, desc, err){
console.log(xhr);
conso.log("Details: " + desc + "\nError: " + err);
}
})
$("#leave_q").click(function(){
$.ajax({
url: '../page.php',
type: 'post',
data: {'leave_q': 'true'},
success: function(data, status){
if (data == "ok"){
$("#timer").innerHTML = '<p>TIMER HAS STOPPED</p>';
}
}, error: function(xhr, desc, err){
console.log(xhr);
conso.log("Details: " + desc + "\nError: " + err);
}
})
这只是将文本从开始更改为ajax中的计数器。在您的情况下,应该使用setInterval js函数
var intervalID = setInterval(function() { 'make some operatins here' }, 1000)
如果你想停止计时,就打电话
clearInterval(intervalID);
有些代码会很好…如果您的请求需要超过1秒才能完成怎么办???我所做的是当用户启动一个开始按钮计时器,并且每秒钟一个php函数给出一个数字,当数字达到10时,计时器将停止并显示一条消息。因此,实际上,您是在服务器端调用PHP函数的10倍???基本上将函数放在page.PHP上,并在同一页面中调用它。但是,由于php是一个服务器脚本,因此可能需要超过1秒的时间。你会给服务器每秒调用一个函数带来很大的压力。为什么不改用javascript或jQuery呢。简而言之,这是一种错误的方法,客户端jQuery将是正确的方法。。。在完成每个请求后调用它。使用setInterval这样的短间隔将有很多请求重叠