【发布时间】:2016-05-09 21:18:03
【问题描述】:
我有一个 AJAX 调用,它根据简单的标准参数(例如一年中的月份)从不断变化的数据库中返回值。在 IE 中,此函数返回缓存的数据,它永远不会。我监控了服务器端,客户端没有联系。
现在,我的标题问题已经以不同的方式被问过,在这里已经很多次了。前两个解决方案是:
- 设置
cache: false - 传递一个随机数/字符串/时间戳以使调用唯一。
问题是,cache: false 不起作用,至少在我的应用程序中不起作用。另一方面,传递一个唯一的字符串来防止缓存,似乎是一个快速修复黑客。我不喜欢它。那么防止ajax调用缓存的正确方法是什么?
在防止缓存方面不起作用的 Ajax 调用:
$.getJSON("myURL", {
json : jsonDataObject,
cache: false
}).success(function(data) {
//do something with data
});
我也尝试过在呼叫发生之前自己拨打$.ajaxSetup({ cache: false });,但没有效果...
【问题讨论】:
-
在url中添加随机值参数
-
您可以控制服务器端点吗?它返回什么缓存头?