我有一个AJAX表单,可以对数据进行一些身份验证。如果会话超时,我想重定向到登录页面。我怎样才能做到这一点? 这是我简化的服务器端代码:
function doExecute(Request $request){
if (isset($_SESSION["user_id"])){
$user = New User($_SESSION["user_id"]);
$returnData["cashBack"] = $user->getAvailCashBack();
echo json_encode($returnData);
}
}
这是我的jquery ajax调用代码:
$.post('index.php?cmd=hx_cash',function(data){
var cashBack= data["cashBack"];
//somecode;
}
如果会话超时,我需要添加到服务器端或浏览器端代码以实现重定向到登录页面?
答案 0 :(得分:1)
function doExecute(Request $request){
if (isset($_SESSION["user_id"])){
$user = New User($_SESSION["user_id"]);
$returnData["cashBack"] = $user->getAvailCashBack();
echo json_encode($returnData);
}else echo "{\"logout\":\"<login url>\"}";
}
$.post('index.php?cmd=hx_cash',function(data){
if(data.logout){
location.href = data.logout;
return;
}
var cashBack= data["cashBack"];
//somecode;
}
在您的PHP代码中,只有在没有设置会话时才发送您希望用户所在的URL,并且在每次调用之前,如果在处理您的ajax业务逻辑之前没有设置会话,您可以重定向到登录页面