我正在使用Nuxt和axios-module。
我试图通过axios全局拦截器处理全局错误。
如何在Nuxt插件中使用错误功能?
// ~/plugins/axios.js
export default function ({ $axios, store, redirect, error }) {
$axios
.onError(apiError => {
error({statusCode: '403', message: 'test'}) // It's not work.
redirect('http://google.com') // It's work.
})
}
重定向有效。但是错误不起作用。仅显示server error page。
我有同样的问题。
检查我的代码后,我发现当您仅在asyncData方法中请求数据一次时,插件中的错误方法就可以使用。但是,如果您多次请求,则错误方法可能不起作用。此方法无法停止使用asyncData方法返回数据。
所以,我的解决方案是在您构建的axios插件中检查响应,并在通过promise.all()请求多个api时也检查响应。如果不合格,则停止返回数据。