JavaScript 重定向不起作用

标签 javascript android html redirect http-redirect

我正在创建我的应用程序的移动版本。这是设置页面 (mysettings.php) 的一部分。

 if(!isset($_SESSION['access_token']))
     {
        echo("<script  type='text/javascript'> window.top.location.href='http://www.example.com/mobile/login.php'</script>");
     }

如果未设置access_token,那么它应该重定向到login.php,但我不明白为什么它不起作用。

在渲染的源代码中我可以看到,因为没有发生重定向(重定向代码存在)

<script  type='text/javascript'> window.top.location='http://www.example.com/mobile/login.php'</script>
<!DOCTYPE html> 
<html> 
<head>...
.
.
.</html>

我正在使用 Chrome,这是我登录 mysettings.php 页面的源代码

<?php
session_start();
$logins=0;
?>
<!DOCTYPE html> 
<html> 
<head> 
    <title>Page Title</title> 

    <meta name="viewport" content="width=device-width, initial-scale=1"> 

    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
    <script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
</head> 
<body> 

<div data-role="page">

    <div data-role="header">
        <h1>Settings</h1>
    </div><!-- /header -->

    <div data-role="content">   
         <div class="ui-grid-a">
      <div class="ui-block-a"><a href="mysettings.php" data-role="button" data-mini="true">Settings</a> </div>
      <div class="ui-block-b"><a href="my.php" data-role="button" data-mini="true">My Pictures</a> </div>
    </div>

    </div><!-- /content -->

    <div data-role="footer">

    </div><!-- /footer -->
</div><!-- /page -->

</body>
</html>

最佳答案

您可以使用 header PHP 函数执行重定向:

<?php
    if(!isset($_SESSION['access_token'])) {
        header("Location: http://www.example.com/mobile/login.php");
        exit;
    }
?>

请注意,这需要在发送任何 HTML 标记之前执行

关于JavaScript 重定向不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14538292/

相关文章:

javascript - dom的样式属性Angular js中的bind属性

Javascript 控制台问题

java - 方法在执行完成之前返回?

android - 如何为自定义对话框添加标题?

android - 从 NavigationView android 中删除分线器

javascript - jquery 选项卡默认选项卡

javascript - 如何根据用户输入用 JavaScript 启动字幕?

javascript - If/Else 语句 Socket.io 客户端

javascript - 如何动态地重新加载任何 slickgrid 数据 View ?

javascript - VSCode 不会对不同根文件夹中的类执行智能感知