我有一个页面,客户端有时会在不刷新(超过24小时)的情况下长时间保持打开状态。该页面上的一些操作需要有效的PHP会话,因此我已经构建了一组简单的函数来每10分钟运行一次该检查。尝试执行两个函数递归时没有定义一个函数
2功能:
- checkLogin()
- refreshTimer()
我们称之为checkLogin()开始,checkLogin()调用refreshTimer()。定时器完成后,它应该调用checkLogin(),它应该调用refreshTimer()并重新开始整个过程。
我们第一次直接调用checkLogin()的东西效果很好。但是,当refreshTimer()尝试调用checkLogin()时,我得到checkLogin()的“未定义函数”错误。
从我的研究看来,我应该可以调用checkLogin()而不传递给refreshTimer()。
我敢肯定我可能错过了一些明显的东西。谢谢你的帮助!
function checkLogin()
{
$.ajax({
url: "/mysite.com/dev/includes/check_login_helper.php",
success: function(logged_in)
{
if(logged_in == "false")
{
// they are logged out - redirect them to login page
alert("logged out");
}
}
});
refreshTimer();
}
function refreshTimer()
{
var t = setTimeout("checkLogin()",15000); // do each 10 min currently shorter for test
}
//start the process up
checkLogin();
固定&使用checkInterval
function checkLogin()
{
$.ajax({
url: "/mysite.com/dev/includes/check_login_helper.php",
success: function(logged_in)
{
if(logged_in == "false")
{
// they are logged out - redirect them to login page
alert("logged out");
}
}
});
}
setInterval(checkLogin(),15000); // do each 10 min currently shorter for test
实际上它可能是更好地使用'变种T = setInterval的(checkLogin,15000);'这里并删除调用refreshTimer –
好主意,这将简化它。 – salonMonsters