Как изменить GET параметр в ссылке без обновления страницы
Я всегда не понимал, как на многих популярных платформах и интернет магазинах реализованы фильтры, и сейчас я столкнулся с надобностью самому реализовать такой поиск.
У меня на сайте при клике на чекбокс через ajax на сервер отправляется запрос и после в блок выводятся результаты поиска с примененным фильтром, однако по задумке после этого должен так же обновиться гет параметр в ссылке без обновления страницы, однако у меня нет идей как это сделать.
Ответы (1 шт):
Автор решения: Evgenii Izhboldin
→ Ссылка
Взято из ответа на основном stackoverflow
Вы можете использовать window.history.pushState
пример:
function processAjaxData(response, urlPath){ //После ajax вызвать
document.getElementById("content").innerHTML = response.html;
document.title = response.pageTitle;
window.history.pushState({"html":response.html,"pageTitle":response.pageTitle},"", newUrlPath);
}
И что бы определить нажатие на кнопку вперед/назад можно использовать событие window.onpopstate
window.onpopstate = function(e){
if(e.state){
document.getElementById("content").innerHTML = e.state.html;
document.title = e.state.pageTitle;
}
};