History.js - 有时仅在单击后退按钮时显示ajax内容

时间:2013-11-04 09:51:59

标签: javascript history.js

我使用History.js,有时当我单击后退按钮时,我只从ajax调用而不是整个页面(包括ajax调用)获取内容。这会导致网站看起来很糟糕,因为没有加载脚本,css或html“容器”。

  1. 我浏览了我的页面。
  2. 我在地址栏中输入了另一个网站。
  3. 我点击后退按钮 - 现在只显示上一个ajax调用的html,没有css,js或其他html
  4. 为什么会发生这种情况?如何解决?

    我的代码如下所示:

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

1 个答案:

答案 0 :(得分:2)

我通过在我的ajax响应上禁用缓存来修复它。

Cache-Control: no-cache, no-store, must-revalidate

现在,当我单击后退按钮时,整个页面被加载而不是仅加载ajax响应。