@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. И что делать? Как теперь с этим жить?
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
@jazzus Автор вопроса
Сделал на бэке проверку типа запроса
if ($request->ajax()) {
    return json;
}

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

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

Войти через центр авторизации
Похожие вопросы
Enapter Санкт-Петербург
от 160 000 до 240 000 ₽
Ready for Sky Санкт-Петербург
от 120 000 до 160 000 ₽
22 февр. 2020, в 12:43
1000 руб./за проект
22 февр. 2020, в 12:14
10000 руб./за проект
22 февр. 2020, в 12:08
3000 руб./за проект