History.js首先加载

时间:2015-04-01 15:46:20

标签: javascript jquery ajax history.js

我正在使用带有jQuery的History.js.

我的网页是搜索引擎。

表单是通过$ .ajax()提交的,结果是在div#results with pagination中加载的。 点击下一页的链接也由$ .ajax处理。

每个结果都是指向另一个页面的链接。

当我第一次加载表单时,我希望div#results为空。但是当我点击结果的链接然后点击后退按钮时,我希望div#results的结果相同。

$('.link_page').on('click', function(e){
    e.preventDefault();
    var page = $(this).data('page');
    $.ajax({
      url: '/search',
      method: 'POST',
      data: {
        create_date : $('#create_date').val(),
        page        : page
      } 
    }).done(function( html ) {
      $( "#results" ).html( html );
      History.pushState({results: html}, "Search", "/search");
    });
  });

History.Adapter.bind(window, 'statechange', function (evt) {
  var state = History.getState();
  $( "#results" ).html( state.data.results );
});

History.Adapter.onDomLoad(function(){
  var state = History.getState();
  History.replaceState({results: state.data.results}, "Search", "/search");
});

效果很好,但如果我提交表单,那么我会访问我网站的任何页面,最后我会返回到我的表单,div#results仍然填满了之前的搜索。

0 个答案:

没有答案