3

我在页面加载时进行简单的 AJAX 调用...

$(document).ready(function() {
    $.get('', {'format': 'json'}, function(items) {
        console.log('hello');
    }
}

如果我点击页面上的链接,然后使用后退按钮,上面的代码会运行(它向控制台输出“hello”),但请求永远不会到达服务器,它只是使用它最初的响应,就好像它是缓存。

是否可以强制它访问服务器?

4

3 回答 3

3

如果您使用该$.ajax()方法,那么您可以设置cache:false. 以下是您的$.get()电话的等效内容:

$.ajax({
  url: 'yourUrlHere',
  data: {'format': 'json'},
  cache : false,
  success: function(items) {
    console.log('hello');
  },
  dataType: 'json'
});

或者为所有 ajax 调用设置一个默认值:

$.ajaxSetup({cache : false});
于 2012-08-08T11:05:13.637 回答
1

您可以将站点配置为不缓存 ajax 响应。

//jQuery
$.ajaxSetup({
    cache : false
});
于 2012-08-08T11:04:12.783 回答
0

这将防止缓存...

$(document).ready(function() { 
    $.get('?'+(Math.random()*20), {'format': 'json'}, function(items) { 
        console.log('hello'); 
    } 
} 
于 2012-08-08T11:04:39.287 回答