我有一个使用Kaminari进行分页的Rails应用程序。分页是使用AJAX构建的。我想使用浏览器历史记录来使用浏览器上的后退和前进按钮。我可以使用AJAX功能,但是浏览器历史记录不起作用。
这是我的分页链接:
<%= paginate @contacts, remote: true %>
链接具有以下html代码:
<ul class="pagination">
<li>
<a data-remote="true" href="/contacts?page=3">3</a>
</li>
</ul>
这是我的js代码:
$(document).on('turbolinks:load', function() {
$('#term').autocomplete({
source: '/contacts/autocomplete',
minLength: 3,
select: function(event, ui) {
$('#term').val(ui.item.value);
$(this).closest('form').submit();
}
});
$('.pagination a[data-remote=true]').on('click', function() {
console.log(this);
window.history.pushState({}, '', $(this).attr('href'));
});
$(window).on('popstate', function() {
$.get(document.location.href);
});
});
当我单击分页链接时,在浏览器地址栏中设置了href,这正是我想要的。但是,当我单击其他分页链接时,地址栏不会更改。另外,当我单击浏览器上的“后退”按钮时,它也不会返回上一页。