ajax去掉session,PHP中解决ajax请求session过时退出登陆问题
一、session过时,若是直接是url请求,或者用户在打开的系统页面中直接清除缓存及cookie信息,可直接在php的入口文件中调用如下封装的方法,进行session信息判断以及页面的跳转,如: php
if(empty($_SESSION['sessionid']) || empty($_COOKIE['PHPSESSID'])){
echo "";
echo "alert('用户过时,请从新登录!');";
echo "parent.window.parent.window.location.href = '/index.php';";
echo "";
}
二、若是是页面保持着,可是10分钟以内没有作任何操做,页不知道是否过时,点击操做按钮,例如保存等,ajax请求已经进行,将会把页面的html打印出来,不能正常的弹出提示窗口,跳转到登录页。 html
项目中进行ajax请求的操做不少,ajax的操做已经进行不能中断,不可能在每一个ajax请求中都调用咱们封装好的判断session是否过时的逻辑,将增长工做负担。我考虑在php的入口代码中调用已经封装好的session过时判断,其返回标识如 echo "timeout";exit; jquery
在引用的jquery.js库中找到.ajax中调用的done方法,补充一下逻辑判断,解决了ajax请求SESSION过时页面跳转问题。 ajax
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 "";
}
}
ajax去掉session,PHP中解决ajax请求session过时退出登陆问题相关推荐
- spring cloud gateway中解决第一次请求失败的问题
spring cloud gateway中解决第一次请求失败的问题 参考文章: (1)spring cloud gateway中解决第一次请求失败的问题 (2)https://www.cnblogs. ...
- php ajax session失效,PHP中解决ajax请求session过期退出登录问题
1.session过期,如果直接是url请求,或者用户在打开的系统页面中直接清除缓存及cookie信息,可直接在php的入口文件中调用以下封装的方法,进行session信息判断以及页面的跳转,如: i ...
- vue使用ajax提交数据,vue中使用ajax请求 data的数据问题
问题描述 v件览客需和下于有快都业视的事一房望站是有ue中使用ajax请求 data的数据抖要支圈者器说是事天开的.年后编定功口小发还问题 问题出现的朋不功事做时次功好来多这开制的请一例农在环境背景及 ...
- mvc ajax post json数据,springmvc解决ajax post json格式数据的跨域问题
前言:今天解决js跨域,搞了一下午,呜呜,以下是我整理的一些解决方法. Paste_Image.png JsonTest click me var jsonData = JSON.stringify( ...
- ajax远程调用,jquery中的ajax方法怎样通过JSONP进行远程调用
关于JSONP的概念和为什么要使用JSONP网上已经有很多教程,这一节主要演示下在JQUERY中的ajax方法怎样通过JSONP进行远程调用 首先介绍下$.ajax的参数 type:请求方式 GET/ ...
- 什么是ajax跨域问题,如何解决ajax跨域问题
<如何解决ajax跨域问题>由会员分享,可在线阅读,更多相关<如何解决ajax跨域问题(5页珍藏版)>请在人人文库网上搜索. 1.如何解决ajax跨域问题 由于此前很少写前端的 ...
- ajax返回一直进入error_解决ajax返回验证的时候总是弹出error错误的方法
这篇文章主要介绍了解决ajax返回验证的时候总是弹出error错误的方法,感兴趣的小伙伴们可以参考一下 发一个简单案例: 前台: 用户登录 $(function(){ var loginDialog; ...
- chrome插件中调用ajax,Chrome扩展程序中的Ajax调用无效
尝试在Chrome扩展程序中发送ajax请求.我已经确认请求返回200响应,它应该只是console.log来测试'.我不确定这里是否存在异常问题?我已经阅读了Chrome扩展程序' addListe ...
- 北风网ajax,[T8:JavaScript中利用Ajax实现客户端与服务器端通信北风网收费视频讲座.ppt...
[T8:JavaScript中利用Ajax实现客户端与服务器端通信北风网收费视频讲座 Ajax简介 XMLHttpRequest对象 综合案例 1.HTTP请求 现在,很多浏览器都可以直接从JavaS ...
最新文章
- Struts2学习小结
- Linux 设备驱动--- 阻塞型字符设备驱动 --- O_NONBLOCK --- 非阻塞标志【转】
- gettimeofday
- 下如何画出频率瀑布图_用maftools一行代码画出瀑布图
- 运行脚本时用SPOOL保存运行结果的问题
- php.ini-development和php.ini-production的区别
- Linux怎么查询全部容器时间,linuxea:如何单单修改docker容器的系统时间
- C语言——机器平台对强制类型转换的影响
- ie6 插入图片img png24 阴影
- 交换机的基本交换配置
- Excel VBA 函数
- [译] MDC-102 Flutter:Material 结构和布局(Flutter)
- 夯实Java基础系列16:一文读懂Java IO流和常见面试题
- linux查看磁盘内存cpu
- 把妹需要勇敢,心有猛虎,细嗅蔷薇
- 转正申请书,要如何写啊?
- Python 如何实时绘制数据
- Tuner及工作原理介绍
- 裸眼3D LED显示屏,是未来趋势还是行业自嗨?
- python for i in a:与删除a内元素引起的bug
热门文章
- matlab温度等值线图函数,matlab等值线图
- SylixOS 系统工作队列
- python-生僻字转拼音
- 公交管理系统的设计与实现
- 并行计算范式-SIMD vs SIMT vs SMT: What’s the Difference Between Parallel Processing Models?
- C语言图书管理系统[2023-01-06]
- 这个工具能替代Excel,可惜90%的人都没用过!
- Visual Studio 高亮引用颜色设置
- 海思3519上移植Qt5.5.1
- 一、Python-劳务报酬计算器(新手练习)