如何在会话过期时从 ajax 响应自动重定向网页
How to auto redirect a webpage from ajax response if the session is expired?
这是我的javascript。
function rDir() {
window.location="./index.php?status=session";
}
我从 PHP 代码的 Ajax 响应是
<script type="text/javascript">
rDir();
</script>
如果我在 php 中使用 header('Location:index.php?status=session;);
它可以工作.. 但它加载了索引.phpdiv 中的内容...
如果会话已过期,如何通过 ajax 加载重定向主页?
虽然我不太精通PHP
,但我假设如果您的会话已过期,那么您将获得像3xx这样的重定向响应代码。
在这种情况下,浏览器会自动发出新请求并下载请求重定向到的页面。这是对您的 ajax 请求透明地完成的,因此最终在成功处理程序中您将获得登录页面的 HTML。
顺便说一下,你自己正在设置Location Header
IM也假设你是你自己处理请求,即使在会话中也已过期。
1.您可以更改返回的状态代码。
2.在 LOOK 中使用 AJAX 服务,以 Preodic 间隔检查会话状态。如果您发现该会话已过期,请重定向到登录页面。
要实现这一目标,有很多方法:
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();
}
我选择了这些方式,因为它很容易在您的代码中实现。
相关文章:
- 将对Ajax PUT的json响应重定向到要由EL解析的JSP中
- 在Ajax响应后使用window.location.replaces不会立即重定向
- 重定向到json响应中的url
- 使用响应重定向退出弹出窗口
- AngularJs $http postsuccessCallback 导致页面重定向,即使服务器以 200 状态响应也
- CakePHP 3 Json 响应而不是重定向(如果 ext = json )
- 在 aspx 页上输入触发响应的键.重定向
- HTTP 200 + 空响应 + 重定向
- XMLHttpRequest 无法加载 [url].预检响应无效(重定向)
- 重定向到新页面作为对 XHR 发布请求的响应
- 当响应 JSON 对象数据计数为零时,AJAX 成功回调函数重定向到错误回调
- 如何在会话过期时从 ajax 响应自动重定向网页
- 单击后响应重定向到路由器 URL 并显示默认页面
- 如何在响应重定向到成功网址后完成活动 Payu paymentgetway 与安卓.
- 响应.重定向和javascript ajax调用
- 响应.重定向在使用session的node.js中不起作用
- 窗口.导航vs响应.重定向,有什么区别
- 发送GET请求并将响应重定向到浏览器以下载文件
- 当抛出错误时,将响应重定向到HTTP 500错误处理程序
- 响应.重定向消除了脚本管理器操作