我使用History.js,有时当我单击后退按钮时,我只从ajax调用而不是整个页面(包括ajax调用)获取内容。这会导致网站看起来很糟糕,因为没有加载脚本,css或html“容器”。
为什么会发生这种情况?如何解决?
我的代码如下所示:
History.Adapter.bind(window, 'statechange', function(){
var State = History.getState();
$.ajax({
url: State.url,
type: 'get',
beforeSend: function(xhr){
xhr.setRequestHeader('X-PJAX', true);
},
success: function(resp, status, xhr) {
$('#wrapper').html(resp);
}
});
});
答案 0 :(得分:2)
我通过在我的ajax响应上禁用缓存来修复它。
Cache-Control: no-cache, no-store, must-revalidate
现在,当我单击后退按钮时,整个页面被加载而不是仅加载ajax响应。