URL-адрес обновления разбивки на страницы Javascript

#javascript

#javascript

Вопрос:

Я пытаюсь выполнить разбивку на страницы с помощью Javascript, и у меня возникли проблемы с обновлением URL-адреса до ?page={PageNumber} . Я отлично разбиваю страницы на 100 элементов, но URL-адрес остается прежним, и я хочу, чтобы казалось, что страница изменилась. Любая помощь приветствуется.

Я пытаюсь добиться domain.com/search / для domain.com/search/?page ={Номер страницы}

     // Adding Page option select menu
    if (document.querySelector("#page-no").innerHTML === "") {
        for (let index = 1; index <= totalPages; index  ) {
            let option = document.createElement("option");
            option.setAttribute("value", `${index}`);
            option.textContent = index;

            if (index === 1) {
                option.selected = true;
            }

            document.querySelector("#page-no").appendChild(option);
        }
    }

    document.querySelector(".total").textContent =
        apiResult.data.pagination.total_pages;

    // Add event listeners on pagination items
    document.querySelector(".prev").addEventListener("click", prevBtnClick);
    document.querySelector(".next").addEventListener("click", nextBtnClick);
    document.querySelector("#page-no").addEventListener("change", optionSelect);
};

// Event Listener on Previous Button
const prevBtnClick = () => {
    if (currentPage > 1) {
        document.getElementById("page-no").selectedIndex -= 1;
        apiresultFn(animalType, searchLocation, --currentPage);
    }
};

// Event Listener on Next Button
const nextBtnClick = () => {
    if (currentPage < totalPages) {
        document.getElementById("page-no").selectedIndex  = 1;
        apiresultFn(animalType, searchLocation,   currentPage);
    }
};

// Event Listener on Page Menu Change
const optionSelect = (e) => {
    currentPage = parseInt(e.target.value);
    apiresultFn(animalType, searchLocation, currentPage);
};
  

Комментарии:

1. Ключевое слово для вашего исследования — HTML5 History API

Ответ №1:

Это добавит добавление строки запроса. Попробуйте использовать это в своей логике кликов

 if (history.pushState) {
    var newurl = window.location.protocol   "//"   window.location.host   window.location.pathname   '?page=2';
    window.history.pushState({path:newurl},'',newurl);
}