@jazzus

Как работать с history.replaceState + axios + vue?

Пытаюсь связать axios и урл для фильтрации без перезагрузки страницы, но с параметрами в урл. Подсказали делать это с помощью history.replaceState.
Я сделал
fetch() {
    history.replaceState({type_id: this.filter.type_id}, "type_id", url);
    axios.get(url, {
        params: {
            type_id: this.filter.type_id,
        }
    })
}

И да, в урл теперь отображаются параметры website/filter?type_id=10
Но если я нажму на ентер, то оно мне вернет на страницу данные в виде json. Ну понятно, т.к. запрос пошел из урла, а не через axios. И что делать? Как теперь с этим жить?
  • Вопрос задан
  • 207 просмотров
Решения вопроса 1
@jazzus Автор вопроса
Сделал на бэке проверку типа запроса
if ($request->ajax()) {
    return json;
}

теперь json не показывает по ссылке..
урл, который строится в адресной строке изменил, чтобы отличался от axios запроса и сделал history.replaceState после запроса, чтобы урл строился по актуальным данным
Не знаю правильно или нет, но информацию, как делать не нашел. Делитесь если у кого есть опыт.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы