我现在做的项目是asp项目,数据是通过jQuery的ajax提交和获取数据的.超时的代码是asp控制的,超时操作项目会跳转到登录页.
这样写的:
头部包含文件:
If Session("username")="" or isnull(Session("username")) Then
Response.Write "<script>top.location.href='/manager/login.html';</script>"
end if
主要问题是这样的.
我的ajax都是这样写的
1 $.ajax({ 2 url:/manwger/default.asp, 3 data:"", 4 cache:false, 5 dataType:"json",//这个地方主要是html或json 6 error:function(){ 7 alert("连接错误"); 8 }, 9 success:function(data){ 10 alert("获取数据成功"); 11 } 12 });
因为要求获取返回json格式的数据,但是response.write返回<script>top.location.href='/manager/login.html';</script>
所以ajax就会在本地报错了.
还有有时候虽然跳转成功了,但是登录页却被抓取到项目框架中来了,尴尬的一塌糊哦
哪位大神帮忙解答一下,给条活路吧.
redirect的过程中,发生了两次请求。第一请求返回状态码302,并在响应头里用Location指明重定向地址,xmlHttpRequest再根据这个地址发出第二次请求
所以你可以取到第一次的状态码然后判断是否显示
但是 你在代码里有控制判断session过期然后直接跳转到login页面,这一步我不太确定是否会请求两次,你测试下。