计数器设置为0后执行ajax

时间:2019-01-11 04:54:26

标签: javascript php ajax

我正在创建一个PPC网站。当计时器计数器设置为0时,代码应自动运行查询。如果用户关闭窗口并再次单击,则在再次完成30秒之前,不会触发查询。

在数据库中设置了URL,以便用户点击一列即可访问。如果将匹配数默认设置为0或1(0),则会显示。当页面运行时,它获取记录。将当前URL和先前URL的两个会话设置为1,并将更新匹配项设置为1。三十秒后,当页面再次加载时,将创建第一个当前URL会话,它与两个会话都匹配。如果两个会话都不相同,则会通过匹配先前的URL会话和登录ID将匹配数更新为2。

创建当前URL和先前URL的会话

$_SESSION['url']=$row['url'];
$_SESSION['previousURL']=$row['url'];

Javascript用于计时器

<script language="JavaScript" type="text/javascript"> 
function checklength(i) {
    'use strict';
    if (i < 10) {
        i = "0" + i;
    }
    return i;
}

var minutes, seconds, count, counter, timer;
count = 30; //seconds
counter = setInterval(timer, 1000);

function timer() {
    'use strict';
    count = count - 1;
    minutes = checklength(Math.floor(count / 60));
    seconds = checklength(count - minutes * 60);
    if (count < 0) {

        clearInterval(counter);
        return;
    }
    document.getElementById("countdown").innerHTML = 'Next refresh in ' + minutes + ':' + seconds + ' ';
    if (count === 0) {

        location.reload();
    }
}
    </script> 

在这种情况下,我得到的实际输出是,如果计时器无法完成并且用户关闭窗口,而不是再次单击该计时器,它将获取先前的URL并将匹配设置为2。

期望的是,更新查询仅应在计时器完成后才触发。

0 个答案:

没有答案