我有一个if语句,检查用户登录的时间是否超过10秒,它应该重定向页面。如果没有AJAX,它只会在重新加载页面后运行脚本。
if ($_SERVER['REQUEST_URI'] == '/account/Dashboard' || '/account/Dashboard/?Login=Success')
{
$time = time();
$uid = $userRow['user_id'];
//$auth_user->auto_timeout($time,$uid);
?>
<div id="auto-lock"></div><?php
}
然后我有这个js脚本来运行auto-lock.php
<script>
var refresh = setInterval(
(function () {
$("#auto-lock").load("../../inc/ajax_content/auto-lock.php");
}), 10000);
</script>
自动lock.php
if ($time - $userRow['auto_timeout'] >= 10)
{
$auth_user->redirect("../../account/LockScreen/?Lock=true");
}
现在,它只是在/account/Dashboard
页面中包含锁定屏幕,而不是重定向到锁定屏幕:
^^^^^将Ajax Refresh加载到仪表板而不是重定向到/ LockScreen
我可能做错了吗?
答案 0 :(得分:2)
您正在使用
<script>
var refresh = setInterval(
(function () {
$("#auto-lock").load("../../inc/ajax_content/auto-lock.php");
}), 10000);
</script>
load将从auto-lock.php获取数据并将html加载到div #auto-lock
中。要重定向,您需要使用此脚本
<script>
var refresh = setInterval(
(function () {
window.location.replace("../../account/LockScreen/?Lock=true");
}), 10000);
</script>
它会将用户重定向到auto-lock.php页面。只看到你的完整代码不需要auto-lock.php文件,如果你想在10秒后锁定屏幕只有js才能完成这项工作。