我遇到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)”,但页面没有显示应该是的上一页。只有网址发生了变化。
我的代码出了什么问题?