日期:2014-05-17  浏览次数:20358 次

Ajax重复刷新导致Cookie为空(IE8下有此问题,火狐正常)何解?
此页面是登录后的页面,系统登录状态保存在Cookie中,时间为一个小时,登录后某页面上有一小区域数据需要5秒刷新显示一次,采用Jquery中Ajax方法异步读取服务器数据,但是过不了几分钟保存登录状态的Cookie就为空了。

如果取消掉5秒刷新的功能,则一切正常,访问其他没有此功能的页面也一切正常。但是只要界面停留在需要刷新数据的页面(即调用Jquery回调重复刷新时)过不了几分钟,Cookie就为空,然后就提示登录失效了。

诡异的问题是:在FireFox中,一切正常。而在我的IE8上就出现此问题(IE6 IE7 IE9下并未测试),将代码上传到服务器,同样有此问题。

Jquery就使用的最普通的$.ajax()方法,内部读取get.aspx所返回的值,get.aspx内首先判断登录状态,然后到数据库读取数据,然后输出。
JavaScript的回调采用的是SetTimeout()方法 间隔5秒。

高手指教!

------解决方案--------------------
是不是你每次刷新的时候将Cookie清空了?