使用后退按钮后,AJAX调用不会命中服务器

时间:2012-08-08 11:01:45

标签: javascript jquery ajax

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

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

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

是否可以强制它命中服务器?

3 个答案:

答案 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'); 
    } 
}