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 ![]() 后端 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 |