【发布时间】:2012-08-15 08:20:56
【问题描述】:
我正在开发一个 jquery 移动网络应用程序,并在我需要用户登录的页面上使用 php 进行会话检查。如果没有,用户将被重定向到 login.php?r=L29yZGVyLnBocD9kZWFsX2lkPTEwMDM2MjM= (base64_encode($_SERVER['REQUEST_URI']) 登录。登录后他必须被重定向到他实际请求的页面。
不幸的是,JQM 没有更新 URL,所以我无法获取 GET 参数 ?r=.... 因为它不存在。只需重新加载页面 (F5) 即可更新 url。
如果用户未登录,这里是执行重定向的 sessioncheck 代码:
if(!isset($_SESSION["member"]) || (isset($_SESSION["member"]) && (int)$_SESSION["member"]["member_id"]==0)){
unset($_SESSION["member"]);
Header("Location: " . SITE_ROOT . "/login.php?r=".base64_encode($_SERVER['REQUEST_URI']));
exit;
}
你们建议告诉 jQuery mobile 目标已更改。 当然,我的重定向发生在 DOCTYPE 标记之前
干杯
【问题讨论】:
-
你想什么时候重定向?如果他们尝试查看页面但未登录?还是在他们登录后?
-
嗨亚当,他们点击链接到需要用户登录的页面。在这个页面上有 sessioncheck 等待重定向到 login.php&r=..... 如果他不是已经登录(会话)
-
您能否澄清一下:您通过 AJAX 调用后端页面,并希望在响应 AJAX 调用时处理“请重定向”?
标签: php jquery-mobile header redirecttoaction