У меня есть страница, которую клиенты иногда оставляют открытой в течение продолжительного времени без обновления (более 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