@dhesaw

Как в vue перенаправить на страницу 404 если сервер вернул 404?

Как перенаправить пользователя на страницу с ошибкой 404?

У меня есть такие маршруты:

{
        path:"/catalog/:catalog",
        name: 'products',
        component: () => import('./views/products.vue')
    },
    {
        path:"/:pathMatch(.*)*",
        name: '404',
        component: () => import('./views/pagenotfound.vue')
    }

И такой action в vuex:

ajaxProductsbyCategoryFromDB(context,category){
            axios.get("/api/products/"+category).then(responce =>{
                context.commit('setProducts',responce.data.products)
            })
            // .catch(Что-то тут надо сделать?)
        }

Получается, у меня обрабатывается первый маршрут, где в компоненте происходит запрос данных. В случае, если запрос к бэку вернет 404 (он возвращает когда надо), то нужно как-то вернуть пользователю страницу 404. Как это можно сделать?
  • Вопрос задан
  • 142 просмотра
Решения вопроса 1
@kicker1337
ajaxProductsbyCategoryFromDB(context,category){
            axios.get("/api/products/"+category).then(responce =>{
                context.commit('setProducts',responce.data.products)
            })
            .catch((error) => {
              // Проверка на код ошибки
              if (error.response.status === 404) {
                // Перенаправление на именованный роут
                router.push({ name: '404' })
              }
            })
        }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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