我在页面加载时进行简单的AJAX调用...
$(document).ready(function() {
$.get('', {'format': 'json'}, function(items) {
console.log('hello');
}
}
如果我点击页面上的链接,然后使用后退按钮,上面的代码运行(它输出'hello'到控制台),但请求永远不会到达服务器,它只是使用它最初的响应如果它被缓存了。
是否可以强制它命中服务器?
答案 0 :(得分:4)
如果您使用$.ajax()
method,则可以设置cache:false
。以下内容相当于您的$.get()
电话:
$.ajax({
url: 'yourUrlHere',
data: {'format': 'json'},
cache : false,
success: function(items) {
console.log('hello');
},
dataType: 'json'
});
或者为所有ajax调用设置默认值:
$.ajaxSetup({cache : false});
答案 1 :(得分:2)
您可以将站点配置为不缓存ajax响应。
//jQuery
$.ajaxSetup({
cache : false
});
答案 2 :(得分:1)
这会阻止缓存......
$(document).ready(function() {
$.get('?'+(Math.random()*20), {'format': 'json'}, function(items) {
console.log('hello');
}
}