【问题标题】:Unable to change session variable through AJAX in IE无法通过 IE 中的 AJAX 更改会话变量
【发布时间】:2010-07-20 09:13:12
【问题描述】:
在尝试使用 AJAX 更改服务器上的会话变量时,我从 IE 中得到了一些奇怪的行为。它在 FF、Chrome、Safari 和所有其他我测试过但在 IE 中无法正常工作。
我正在为匿名用户维护会话变量中的变量(整数)列表,以便当/如果他们在网站上注册时,我可以保留他们的数据。我正在使用 jQuery 和 AJAX 调用更新会话变量的 Django 函数。
IE 中的奇怪行为是在刷新(再次访问服务器)时会话仍未更新。只有当我清除浏览器缓存或查看当前 cookie 时,会话才会更新。
有什么想法吗?
【问题讨论】:
标签:
javascript
ajax
django
internet-explorer
session
【解决方案1】:
我遇到了同样的问题,但是对于 Pylons,我所做的是创建一个中间件,在我的响应标头中设置以下配置。
headers["Cache-Control"] = "no-cache"
headers["Pragma"] = "no-cache"
headers["Expires"] = -
Here 描述了它的作用。
【解决方案2】:
Django 已经在它的响应对象中内置了这个。
response = HttpResponse(data, mimetype='application/javascript')
response['Cache-Control'] = 'no-cache'
response['Pragma'] = 'no-cache'
response["Expires"] = ''
return response