HTML API popstate阻止ajax请求

时间:2015-10-12 09:38:09

标签: javascript jquery ajax

我遇到popstate的问题,基本上我的代码工作得很好。我执行AJAX请求和pushState。当我点击浏览器上的后退按钮时出现问题。整个页面将再次请求AJAX。如你所知Github也在使用这种方法但是当我们回击按钮时它不会再次请求AJAX。 Github是怎么做到的?这是我的代码:

function loadProducts(dataPage) {
    $.ajax({
        type: "GET", 
        url: test.php, 
        data: {page : dataPage}, 
        dataType: "html",
        cache: true,
        success: function(checks) {
            $(".ajaxpage").html(checks).fadeIn("slow");
        }
    });
}; 

window.onpopstate = function(event) {
    if (event.state != null) {
        var pop = event.state;
        loadProducts(pop.dataPage)
        document.title = pop.dataPage;  
    }
};

$('#product').on("click", ".paging a", function(e) {
    e.preventDefault();

    history.pushState({
        dataPage: $(this).attr('href')
    }, null, $(this).attr('href')); 
    loadProducts($(this).attr('href'));
});

我尝试删除“loadProducts(pop.dataPage)”,但页面没有显示应该是的上一页。只有网址发生了变化。

我的代码出了什么问题?

0 个答案:

没有答案