У меня возникла проблема при попытке извлечь некоторые данные с помощью pushState.
Так что у меня в основном есть 4 функции:
- прослушиватель событий при нажатии
- a нужна функция для захвата ссылки
- функция для запуска анимации
- и функция для получения этого URL
Все работает нормально, пока я не попытаюсь набрать sh состояние в истории.
history.pushState до или после моего запроса на выборку прерывает запрос следующим образом: controller / controller / about. php по некоторым причинам.
I попробовал console.log (url); на всех 4 функциях и результат один и тот же (хороший URL для извлечения: controller / about. php например)
Я попробовал history.pushState внутри моего запроса на выборку, и он работает нормально (загружает контроллер / о. php например) но мне нужно работать с событием popstate и снова вызывать ту же функцию извлечения.
Мой обобщенный код:
const loadNewContent = async url => {
const response = await fetch(url, { headers: headers });
// Tried adding pushState inside fetch request
// window.history.pushState(url, `${url}`, url);
};
// function that fires animations then load the last function
const changePage = url => {
loadNewContent(url).catch(error => console.error(error));;
};
const ajax = e => {
// Tried adding pushState before fetch fires
// window.history.pushState(newPage, ``, newPage);
changePage(newPage);
// Tried adding pushState after fetch fires
// window.history.pushState(newPage, ``, newPage);
};
// Click event fires ajax function
ajax(e);