我正在使用$ .getJSON来执行对最新数据库更新的ajax调用。 Chrome和Firefox工作正常,但IE7在使用IE7时,服务器会响应我自清除IE7缓存后的第一次更新。
有什么想法吗?
答案 0 :(得分:2)
可以使用$ .ajax代替这些选项..注意'cache:false':
$.ajax({
url: url,
dataType: 'json',
cache: false,
data: data,
success: callback
});
答案 1 :(得分:1)
我以前经历过这个。您可能希望每次都添加一个不同的新参数。像这样:
var ts = new Date().getTime(); //get the current timestamp
//add the ts as a parameter to your call along with all your other data.
这样每个请求都不同,IE也不会缓存它。
答案 2 :(得分:0)
IE有一个缓解AJAX调用响应的坏习惯。
在查询字符串中添加一个虚拟参数,每次进行AJAX调用时都会更改,然后您将获得新的结果。
更新:如果您使用Mootools,则可以have this done automatically。查找noCache
选项。
答案 3 :(得分:0)
这是缓存的问题,其中IE缓存您的数据,以便后者调用不从服务器获取结果但在IE缓存中
如果您对所有ajax使用jQuery,那么您应首先运行它:
$.ajaxSetup({
cache: false
});
如果设置为false,它将强制浏览器不缓存请求的页面。