这是我的javascript ..
function rDir() {
window.location="./index.php?status=session";
}
我的php代码的ajax响应是
<script type="text/javascript">
rDir();
</script>
如果我在php中使用header('Location:index.php?status=session;);
它可以工作..但是它会加载div中的index.php内容...
如果会话已过期,如何通过ajax加载主页重定向?
答案 0 :(得分:0)
虽然我对PHP不太熟练但是我假设如果你的会话已经过期,那么你将得到一个像3xx这样的重定向响应代码。
在这种情况下,浏览器会自动发出新请求并下载请求重定向的页面。这是透明地完成你的ajax请求,所以最后在成功处理程序中你将获得登录页面的HTML。
通过你写的方式你自己设置Location Header
我也假设你自己处理请求,即使在会话过期。在这种情况下
1.您可以更改返回的状态代码
2.在预定的时间间隔内查看会话状态中的ajax服务。如果您发现该会话已过期,请重定向到登录页面。
答案 1 :(得分:0)
要实现这一点,他们有很多方法:
1 - 最简单的:
Var MustBe = "script type="\text/javascript\">rDir();</script>";
if(Request.ResponseText == MustBe ){
rDir();
}
2 - 专业:
$('body').append(request.responsetext);
3 - 一个好方法:
if(Request.responsetext.indexof("rDir();") !== -1){
rDir();
}
我选择了这些方法,因为它很容易在您的代码中实现。