php ajax session失效,PHP中解决ajax请求session过期退出登录问题
1、session过期,如果直接是url请求,或者用户在打开的系统页面中直接清除缓存及cookie信息,可直接在php的入口文件中调用以下封装的方法,进行session信息判断以及页面的跳转,如:
if(empty($_SESSION['sessionid']) || empty($_COOKIE['PHPSESSID'])){
echo "
echo "alert('用户过期,请重新登陆!');";
echo "parent.window.parent.window.location.href = '/index.php';";
echo "";
}
2、如果是页面保持着,但是10分钟之内没有做任何操作,页不知道是否过期,点击操作按钮,例如保存等,ajax请求已经进行,将会把页面的html打印出来,不能正常的弹出提示窗口,跳转到登陆页。
项目中进行ajax请求的操作很多,ajax的操作已经进行不能中断,不可能在每个ajax请求中都调用我们封装好的判断session是否过期的逻辑,将增加工作负担。我考虑在php的入口代码中调用已经封装好的session过期判断,其返回标识如 echo "timeout";exit;
在引用的jquery.js库中找到.ajax中调用的done方法,补充一下逻辑判断,解决了ajax请求SESSION过期页面跳转问题。
if(response == "timeout"){
alert('SESSION信息已过期,请重新登陆!');
parent.window.parent.window.location.href = '/index.php';
return;
}
php封装的判断session是否过期的方法:
function checkSession(){
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){
//is ajax
if(empty($_SESSION['sessionid'])){
echo "timeout";
exit;
}
}
elseif(empty($_SESSION['sessionid']) || empty($_COOKIE['PHPSESSID'])){
echo "
echo "alert('用户过期,请重新登陆!');";
echo "parent.window.parent.window.location.href = '/index.php';";
echo "";
}
}
php ajax session失效,PHP中解决ajax请求session过期退出登录问题相关推荐
- spring cloud gateway中解决第一次请求失败的问题
spring cloud gateway中解决第一次请求失败的问题 参考文章: (1)spring cloud gateway中解决第一次请求失败的问题 (2)https://www.cnblogs. ...
- ajax去掉session,PHP中解决ajax请求session过时退出登陆问题
一.session过时,若是直接是url请求,或者用户在打开的系统页面中直接清除缓存及cookie信息,可直接在php的入口文件中调用如下封装的方法,进行session信息判断以及页面的跳转,如: p ...
- ajaxsetup无效_Ajax请求session失效该如何解决
一般来说我们的项目都有登录过滤器,一般请求足以搞定.但是AJAX却是例外的,所以解决方法是设置响应为session失效. 一共分为过滤器和页面JS两个部分的设置,先看过滤器的修改: import ja ...
- Java中解决(extjs或jquery)session过期退出登录问题
为什么80%的码农都做不了架构师?>>> 解决两种情况下的用户访问超时: a)普通http请求的session超时: b)异步http请求的session超时,如果使用extj ...
- ajax返回一直进入error_解决ajax返回验证的时候总是弹出error错误的方法
这篇文章主要介绍了解决ajax返回验证的时候总是弹出error错误的方法,感兴趣的小伙伴们可以参考一下 发一个简单案例: 前台: 用户登录 $(function(){ var loginDialog; ...
- mvc ajax post json数据,springmvc解决ajax post json格式数据的跨域问题
前言:今天解决js跨域,搞了一下午,呜呜,以下是我整理的一些解决方法. Paste_Image.png JsonTest click me var jsonData = JSON.stringify( ...
- vue使用ajax提交数据,vue中使用ajax请求 data的数据问题
问题描述 v件览客需和下于有快都业视的事一房望站是有ue中使用ajax请求 data的数据抖要支圈者器说是事天开的.年后编定功口小发还问题 问题出现的朋不功事做时次功好来多这开制的请一例农在环境背景及 ...
- ajax远程调用,jquery中的ajax方法怎样通过JSONP进行远程调用
关于JSONP的概念和为什么要使用JSONP网上已经有很多教程,这一节主要演示下在JQUERY中的ajax方法怎样通过JSONP进行远程调用 首先介绍下$.ajax的参数 type:请求方式 GET/ ...
- 什么是ajax跨域问题,如何解决ajax跨域问题
<如何解决ajax跨域问题>由会员分享,可在线阅读,更多相关<如何解决ajax跨域问题(5页珍藏版)>请在人人文库网上搜索. 1.如何解决ajax跨域问题 由于此前很少写前端的 ...
最新文章
- 磁悬浮地球仪控制初步测试
- 某种密码(password.*)
- 11.23月福首页30%
- OOo on ready---VB篇
- HotSpot增量Java垃圾收集器
- centos mysql php tomcat_Linux 安装JDK Tomcat MySQL的教程(使用Mac远程访问)
- 通信、计算机、电子相关专业技术工作
- sql/c#十六进制与十进制的转换
- 使用Beautifulsoup去除特定标签
- 【转载】使用Epoll的框架例子二
- dotCMS学习记录--结构
- 【华为云技术分享】软件工程师的AI模型训练起步
- mysql 客户端命令行_Windows的MySQL命令行客户端
- 9、电话区号信息API接口,免费好用
- 爱普生喷墨打印机之连续供墨系统经典故障
- 数据中心100G主流应用技术分析
- iOS客户端的title不显示解决方案
- 小米 android项目代码,[Android] 代码获取手机系统类型(小米MIUI、华为EMUI、魅族FLYME)...
- Dubbo 的集群容错模式:Failover Cluster
- 用paddleocr识别汉字_使用飞桨一步步实现多语言OCR文字识别软件
热门文章
- win10 计算机网络密码,win10系统电脑如何查看wifi密码 win10系统电脑查看wifi密码方法【介绍】...
- python 调试 cyberbrain 教程
- 物体计数--Learning To Count Objects in Images
- redis面试全家桶
- java分布式+高可用_[Java复习] 分布式高可用-Hystrix
- cors在服务器还是接口_cors
- python循环最简单的解释_python循环-通往简洁的必经之路
- amd同步多线程_锐龙本主力AMD锐龙5 3500U测试:八代酷睿招架不住…
- jQuery实现浮动层跟随页面滚动效果
- ssh 安全远程管理