标头刷新无法使用jquery mobile

时间:2014-02-20 22:07:19

标签: jquery-mobile login refresh pageload

我正在使用jquerymobile将我的网站更新为更具移动性的响应式设计。通常我有用户登录,在检查细节是否正确后,它会将它们刷新到新页面。 但是,我无法使用jquerymobile。想必这是因为Ajax覆盖功能? Ajax目前对我来说很陌生:) 删节的脚本如下所示:

else
//else, all ok proceed with login
{
if(isset($_GET['redirect']))
{header ("Refresh: 0; URL=" . $_GET['redirect'] . "");}
else{header ("Refresh: 0; URL=cohome.php");
echo "Your login was successful, you are being redirected in one second <br />";
echo "(If your browser doesn't support this, <a href=\"cohome.php\">click here</a>)";}
}
非常感谢

实际上,为了简化事情。我的注销按钮也存在同样的问题。

<a href="logout.php">

导致

<?php
session_start();
// make double sure that logged out.
$_SESSION['logged'] = "0";
session_destroy();
header("Refresh: 0; URL=index.php");

echo "You have been logged out.<br />";
echo "You are being redirected to the homepage!<br />";
echo "(If your browser doesn't support this, <a href=\"index.php\">click here</a>)";
?>

不幸的是,没有重定向。它在我的标准网站上工作正常,只是从开始转换到jquery mobile。

2 个答案:

答案 0 :(得分:0)

刷新为0的标题没有多大意义。考虑使用

header('location:' . $_GET['redirect']);

代替。或者,如果要显示重定向消息,请增加刷新时间。最后,但并非最不重要的是,您还可以回复刷新:

echo "<meta http-equiv='refresh' content='3; url=" . $_GET['redirect']) . "'>";

但是,不建议使用元刷新。但是如果你使用JS并依赖它,你也可以使用JS重定向:

echo "setTimeout(\"location.href = '" . $_GET['redirect']) . "';\", 3000);";

有几种方法,但在我看来,用0秒的PHP刷新并不是最好的主意。

答案 1 :(得分:0)

好的,好的。如果我使用“data-ajax = false”关闭ajax,它似乎工作正常。

<form name="login" id="login" action="<?php echo "processCoLogin.php?".$_SERVER['QUERY_STRING']; ?>" data-ajax=false method="post">

<a href="logout.php" class="ui-btn" data-ajax=false>Log out</a>

但是我更喜欢一种解决方案,我不需要关闭ajax&amp; amp;可以使用标题(位置)重定向。