@animr

Как без перезагрузки страницы добавить параметры в строку ввода браузера с помощью jquery?

Как без перезагрузки страницы добавить параметры в строку ввода браузера, чтоб страница не перезагружалась, а выбранные фильтры остались checked. Мне нужно получить данные по выделенным фильтрам, данные теперь я получаю, не могу понять где мне хранить и как в js хранить выбранные фильтры.

Есть след функция которая дает id фильтров:
function GetDatesFilter( id ) {
    let category = window.location.pathname.slice(1);

    const param_data = {}
    param_data["_token"] = "{{ csrf_token() }}";
    param_data["code"] = category;

    let id_filter = $(id).val();
    param_data['fil_' +id_filter] = $(id).val();

    const url = new URL(window.location);
    url.searchParams.set('fil_' +id_filter, $(id).val());

    console.log(url);
    window.location.replace = url.href;

    GetProductByCategory();
}


Это строка window.location.replace = url.href; меня перекидывает на ту же страницу, но с параметрами, а мне нужно чтоб функция добавляла параметры в браузерной строке без перезагрузки!
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
pickHabr
@pickHabr
Костыльных дел мастер
var newurl = window.location.protocol + "//" + window.location.host + window.location.pathname + '?myNewUrlQuery=1';
window.history.pushState({path:newurl},'',newurl);


Но может быть стоит подумать про куки или локал сторадж?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы