NUXT JS Interceptor for 404 или любые ошибки с ошибкой метод не работает - PullRequest
0 голосов
/ 01 декабря 2019

Версия

v5.8.0

Ссылка на воспроизведение

https://github.com/msonowal/nuxt-bug-reproduce-link

Этапы воспроизведения

добавьте это в plugins dir сделайте его именем файла axios.js

и добавьте ссылку в массив плагинов nuxt config для посещения любого маршрута, чьи запросы axios имеют содержимое файла 404

axios.js ниже

export default function({ $axios, error }) {
  $axios.onError((responseError) => {
    if (responseError.response.status === 404) {
      error({ statusCode: 404, message: 'Post not found from interceptor' })
    }
  })
}

Что ожидается?

показать ответ об ошибке с кодом 404, как определено в приложении nuxt. Сообщение не найдено от перехватчика

, но

не перенаправить на 301

Что на самом деле происходит?

отображается ошибка по умолчанию

NuxtServerError Request failed with status code 404

Этот отчет об ошибке доступен в сообществе Nuxt ( # c305 )

1 Ответ

0 голосов
/ 01 декабря 2019

это способ обработки ошибки 404

asyncData({ $axios, params, error }) {
    return $axios
      .get(`/user/${params.profile}`)
      .then(res => {
        return { user: res.data.data };
      })
      .catch(e => {
        error({ statusCode: 404, message: 'Page not found' });
      });
  },
...