如何防止在Internet Explorer中缓存jQuery Ajax请求?
当前回答
以下是一个回答建议:
http://www.greenvilleweb.us/how-to-web-design/problem-with-ie-9-caching-ajax-get-request/
这个想法是在ajax查询中添加一个参数,例如包含当前日期和时间,这样浏览器就不能缓存它。
看一下链接,解释得很清楚。
其他回答
你可以使用$.ajaxSetup()禁用全局缓存,例如:
$.ajaxSetup({ cache: false });
这将在发出请求时向查询字符串追加时间戳。要关闭特定$.ajax()调用的缓存,在本地设置cache: false,如下所示:
$.ajax({
cache: false,
//other options...
});
Cache-Control: no-cache, no-store
这两个头值可以在IE和Firefox上组合以获得所需的效果
这是一个老帖子,但如果IE给你带来麻烦。将GET请求更改为POST, IE将不再缓存它们。
我花了太长时间才明白这是怎么回事。希望能有所帮助。
如果你设置了唯一的参数,那么缓存不工作,例如:
$.ajax({
url : "my_url",
data : {
'uniq_param' : (new Date()).getTime(),
//other data
}});
以下是一个回答建议:
http://www.greenvilleweb.us/how-to-web-design/problem-with-ie-9-caching-ajax-get-request/
这个想法是在ajax查询中添加一个参数,例如包含当前日期和时间,这样浏览器就不能缓存它。
看一下链接,解释得很清楚。
推荐文章
- 在JavaScript中根据键值查找和删除数组中的对象
- 防止在ASP中缓存。NET MVC中使用属性的特定操作
- jQuery: keyPress退格键不火?
- XMLHttpRequest Origin null不允许Access-Control-Allow-Origin for file:/// to file:///(无服务器)
- 重置setTimeout
- jQuery有不聚焦的方法吗?
- jQuery -替换字符串中某个字符的所有实例
- Ng-repeat结束事件
- 模糊vs聚焦-有什么真正的区别吗?
- 如何用jQuery / JavaScript解析JSON数据?
- jQuery在请求体中发布有效的json
- jQuery中的live()转换为on()
- jQuery等价于JavaScript的addEventListener方法
- jQuery需要避免的陷阱
- 用jQuery切换DIV背景图像