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