Javascript重定向不起作用

Javascript重定向不起作用,javascript,android,html,redirect,http-redirect,Javascript,Android,Html,Redirect,Http Redirect,我正在创建我的应用程序的移动版本。这是设置页面(mysettings.php)的一部分 if(!isset($\u会话['access\u token'])) { echo(“window.top.location.href=”http://www.example.com/mobile/login.php'"); } 如果没有设置访问令牌,那么它应该重定向到login.php,但我不明白为什么它不工作 在呈现的源代码中,我可以看到,因为重定向没有发生(重定向代码存在) window.top.l

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

if(!isset($\u会话['access\u token']))
{
echo(“window.top.location.href=”http://www.example.com/mobile/login.php'");
}
如果没有设置访问令牌,那么它应该重定向到login.php,但我不明白为什么它不工作

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

window.top.location='1〕http://www.example.com/mobile/login.php'
...
.
.
.
我使用的是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>

页面标题
设置

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

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


请注意,在发送任何HTML标记之前都需要执行此操作,或许可以尝试使用php
标题(“位置:http://some/url");
或尝试使用window.location.hrefinstaed of top最后尝试将脚本放在文档标记之前而不是之前(可能有效?…)

我添加了


点击
mysettings.php
上的按钮,它开始工作正常。谢谢你

为什么不在PHP中执行重定向?@AnthonyForloney:我该怎么做?@AnthonyForloney:如果你指的是标题,那也不行。我在源代码“
警告:无法修改标题信息-标题已经由/home/earnfame/public\u html/mobile/mysettings.php:7)在/home/xxx/public\u html/mobile/mysettings.php的第10行
中发送(输出开始于/home/earnfame/public\u html/mobile/mysettings.php:7),我试图从基于移动的php页面访问它。这会导致任何问题吗?仍然不起作用
警告:无法修改标题信息-标题已由/home/xxx/public_html/mobile/mysettings.php中的/home/xxx/public_html/mobile/mysettings.php第10行
`@AdiMathur发送(输出开始于/home/earnfame/public_html/mobile/mysettings.php:7),在打开html标记之前必须先发送。在窗口中,我得到了
未定义的
和源代码中的错误,如上所述。请提供帮助。@AdiMathur该错误表示脚本mysettings.php在第7行输出了内容。第7行有一个结束和开始标记“?>还是不起作用。。。我尝试了header和window.location.href window.location.href='xxxx.com/mobile/login.php'嗯,很确定你的问题在别处。。。如果这两项工作都没有发生基本的JS错误,或者JS没有启用,或者PHP输出不正确,请检查您的PHP错误日志和JS控制台是否存在错误。您应该接受/更新正确答案,而不是添加您自己的答案
<?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>
<?php
    if(!isset($_SESSION['access_token'])) {
        header("Location: http://www.example.com/mobile/login.php");
        exit;
    }
?>
data-ajax="false"