用户长期不操作,如果session过期,刷页面的时候跳转到登陆页面..但是如果点击ajax请求数据..就不行了.
1种是ajax的时候做判断,难道要在全局的ajax函数都加上判断?
2是前端页面定时器..
不知道你们怎么做的?
1种是ajax的时候做判断,难道要在全局的ajax函数都加上判断?
2是前端页面定时器..
不知道你们怎么做的?
1
bosiam Sep 26, 2013
当然是请求的地址会自动做判断,是否有权限、是否登录
|
2
CoX Sep 26, 2013
接收ajax请求的页面做判断,给相应的返回状态
|
3
tabris17 Sep 26, 2013
不理解你到底在纠结哪个,究竟是要防止session过期,还是ajax中如何处理非法请求
前者,最简单的方法,页面内嵌iframe,定时刷新。 后者,ajax请求返回错误状态,前端根据不同错误状态做出响应 |
4
msg7086 Sep 26, 2013
为什么不延长session过期时间?
|
6
Mutoo Sep 26, 2013
为啥要内嵌iframe,ajax做一个心跳同步,就可以一直保持session了
|
7
ejin Sep 26, 2013
以前专门看过大网站怎么做的,一般是定时发送个请求以保证只要页面没关掉就不会失效,当然ajax部分还是要判断下的。
二者缺一不可 这是以前的解决方案,现在嘛,没太注意了,不过要兼容以前浏览器的话还是这个方案比较好 |
8
YuHong Sep 26, 2013 后端 statusCode 返回 401
前端针对 xhr 做个全局的request control 例如jQuery $(document).ajaxError(req, xhr) { if(xhr.status === 401) // do something} |
9
bombless Sep 27, 2013
不知道楼主的意思是保证ajax让前端正确的跳到失效的界面,还是说在ajax时保持一个登陆状态。
失效的话就让ajax返回401,前端收到之后就知道过期了。保持登陆状态的话真没什么好谈的,感觉不是一个问题。 |
10
horsley Sep 27, 2013
cookie 回填session
|
11
zebinary Sep 28, 2013
lz的意思应该是ajax请求发现过期,需要js控制来进行跳转,这个代码如何统一吧。这个封装一个统一的ajax函数就好了。
|
12
msg7086 Sep 28, 2013
@cxe2v session又不是一定要过期。
如果你需要让session不过期,那直接把session过期时间改为无限长不就得了。 这和ajax有什么关系? 扯到ajax的我只能想到的是用户在另一个页面手动登出以后再回来执行ajax的情况。 这种时候可以根据ajax请求的header标示直接返回一个特定的错误码json让前台处理就行了。 |
15
liunkor Sep 28, 2013
可以设置时间啊
|