2012-08-08 85 views
3

我,使页面加载一个简单的AJAX调用后...Ajax调用不打服务器使用后退按钮

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

如果我打的页面上的链接,然后使用后退按钮时,上面的代码运行(它向控制台输出'hello'),但请求从不会访问服务器,它只是使用它原来的响应,就好像它被缓存了一样。

是否有可能强制它击中服务器?

回答

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}); 
2

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

//jQuery 
$.ajaxSetup({ 
    cache : false 
}); 
1

这将阻止缓存...

$(document).ready(function() { 
    $.get('?'+(Math.random()*20), {'format': 'json'}, function(items) { 
     console.log('hello'); 
    } 
}