AJAX插入内容而不是重定向到锁定页面

时间:2018-03-27 14:46:32

标签: php jquery ajax

我有一个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页面中包含锁定屏幕,而不是重定向到锁定屏幕:

With Ajax Refresh loads into Dashboard instead of redirecting to /LockScreen

^^^^^将Ajax Refresh加载到仪表板而不是重定向到/ LockScreen

我可能做错了吗?

1 个答案:

答案 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才能完成这项工作。