В интернет-магазине на странице категории добавил сортировку товаров и кнопку "Загрузить ещё", но если нажать на товар, а потом на кнопку назад в браузере то просит выполнить повторную отправку формы и возвращает в начало страницы. Слышал про History API и pushState, но не могу никак додуматься как их использовать. Могли бы вы подсказать как реализовать эту схему?
Вот мой код сортировки (немного очистил от лишней инфы):
$(document).ready(function () {
$(".sort_cat .dropdown-item").click(function () {
var id = $(this).attr('id');
$.ajax({
url:'/category.php',
data:'sort_id='+id,
type:'get',
success:function (html) {
$("#sort_prod").html(html);
}
});
});
});
А это кнопки "Загрузить ещё":
var count_show = 21; //чтобы знать с какой записи вытаскивать данные
$(function() {
$("#show_more").click(function(){
$.ajax({
url:'/category.php',
type:'get',
data:'count_show='+count_show,
cache: false,
success: function(response){
if(response == 0){
count_show = 21;
$("#show_more").hide();
}else{
$("#sort_prod").append(response);
count_show = count_show + 18;
}
}
});
});
});
Когда нажимаю на сортировку, то в адресной строке добавляется #
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники