nuxt在服务端axios拦截器中使用element 无效
目录中引入了了axios
config里面也配置了
plugins下的element文件内容也有
import Vue from 'vue'
import Element from 'element-ui'
import locale from 'element-ui/lib/locale/lang/en'
Vue.use(Element, { locale })
这是axios 自定义拦截的代码
import { Notification } from 'element-ui'
export default function ({ $axios, redirect, error }, inject) {
$axios.onError((e) => {
const code = parseInt(e.response && e.response.status)
console.log('bug接口', e.config.url)
switch (code) {
case 400:
redirect('/error')
// error({ statusCode: 400, message: 'not found' })
break
case 600:
Notification({
message: code,
position: 'bottom-right'
})
redirect({
path: '/error'
})
break
// case 401: return history.push('/login'); break;
// case 403: err.message = '拒绝访问(403)'; break;
// case 404: err.message = '请求出错(404)'; break;
// case 408: err.message = '请求超时(408)'; break;
// case 500: err.message = '服务器错误(500)'; break;
// case 501: err.message = '服务未实现(501)'; break;
// case 502: err.message = '网络错误(502)'; break;
// case 503: err.message = '服务不可用(503)'; break;
// case 504: err.message = '网络超时(504)'; break;
// case 505: err.message = 'HTTP版本不受支持(505)'; break;
// default: err.message = `连接出错(${err.response.status})!`;
}
})
}
但是这个Notification组件
只有在客户端的时候弹出,如果是服务端报错,就不会弹出
求解
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
axios 不应该也是客户端的一部分吗?
看配置应该是没有问题的,命名方式有影响吗? element-ui -> elementUi
或者 swich case 是否服务端返回的是字符串?