问题描述:
在浏览器页面后退时,也就是说你点击链接到一个页面,然后又点击后退按钮回到刚才的页面,结果发现jQuery的ajax GET请求不再执行了???
解决方法:
禁用ajax缓存: $.ajaxSetup({ cache: false });
吐槽:为了解决这个问题在网上翻了一个小时,几乎所有答案都是没卵用的。终于在https://stackoverflow.com/questions/11508101/how-can-you-force-ajax-content-to-reload-when-a-user-presses-the-back-button-on一个冷清的角落找到了答案。答案只是添加一行代码而已。。。。。
示例:
$(document).ready(function(){
$.ajaxSetup({ cache: false }); // 仅添加这一句就可解决问题
$.ajax({
url: '/test_ajax',
type: 'GET',
dataType: 'json',
success: function(data) {
// 处理数据……
},
error: function() {
}
});
});