我现在可以用这种方法解决这个问题,不知道是否是正确安全的做法。
在我的session.php里加上header("HTTP/1.0 301 Redirect to Login"),即:
session.php为:
<?php
session_start();
setcookie(session_name(), session_id(), time() + 1*60, "/");
if(!(isset($_SESSION["username"]))||!(isset($_SESSION["password"])))
{
header("HTTP/1.0 301 Redirect to Login");
header("Refresh:0;url=./login.php");
exit(0);
}
?>
JQuery前端处理为:
$.ajax(
{
type:"GET",
url:"./include/coor_generator.php",
data:{network_type:nw_type},
dataType:"xml",
error:function (xhr,statusText,error)
{
if (xhr.status == "301")
{
window.location="./login.php";
}
},
success: compute_coord
}
);
这样子php显式返回http头301,jquery的.ajax似乎就把这种response当作error处理,然后在js端redirect.
【 在 loy (好像一阵风) 的大作中提到: 】
: 刚开始用Jquery,不知道一般这种情况是怎么处理的。
: 我的程序结构大概是这样子的,server端有些php文件,这些php文件用来产生xml文件。基本上每个php文件中都包含了session.php。
: session.php主要就是用来验证用户session是否过期,内如如下:
: ...................
--
FROM 208.181.115.*