刚开始用Jquery,不知道一般这种情况是怎么处理的。
我的程序结构大概是这样子的,server端有些php文件,这些php文件用来产生xml文件。基本上每个php文件中都包含了session.php。
session.php主要就是用来验证用户session是否过期,内如如下:
<?php
session_start();
setcookie(session_name(), session_id(), time() + 1*60, "/");
if(!(isset($_SESSION["username"]))||!(isset($_SESSION["password"])))
{
header("Refresh:0;url=./login.php");
exit(0);
}
?>
然后,比如一个用来产生x,y坐标的coor_generator.php,大致内容为:
<?php
require_once("session.php");
require_once("DB.php"); //DB class declartion
$status_code = 1;
header("Content-type: text/xml");
header("Cache-Control: no-cache");
echo "<?xml version=\"1.0\"?>\n";
echo "<response>\n";
echo "\t<status>$status_code</status>\n";
......
?>
这样子,我在前端,利用JQquery的.ajax想做一些处理,比如:
$.ajax(
{type:"GET",
url:"./include/coor_generator.php",
complete:function (xhr,statusText)
{
alert(xhr.status);
}
}
不过从server端返回的xhr.status始终是200,不管是返回的我想要的xml,还是用户session过期后,php产生的redirection。
假如coor_generator.php不存在,倒是可以看到$.ajax(error(xhr,statusText))中xhr.status是404。
这种需求应该很常见啊,不知道JQuery AJAX怎么处理这种redirection的?不知道是否把问题说清楚了。
--
FROM 208.181.115.*