Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
每秒调用一个php函数并显示一个计时器_Php_Jquery_Ajax_Counter - Fatal编程技术网

每秒调用一个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"){

当一个人点击开始,计时器显示,我每秒钟调用一次php函数时,我正在尝试处理一些事情。我尝试了一些在线倒计时,但我不知道如何调用该函数

$("#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这样的短间隔将有很多请求重叠