Vue-element-admin前端拦截response

vue-element-admin中@/src/utils/request.js 是基于 axios 的封装,便于统一处理 POST,GET 等请求参数,请求头,以及错误提示信息等。具体可以参看 request.js。 它封装了全局 request拦截器response拦截器统一的错误处理统一做了超时处理baseURL设置等

参考https://github.com/PanJiaChen/vue-element-admin/blob/master/src/utils/request.js

如前后端分离时,处理后端session失效时的,后端返回code 302,前端进行判断过滤

// respone interceptor
service.interceptors.response.use(
  // response => response,  //注释
  response => {
    const res = response.data;
    // session 失效会返回code 302
    if (res.code == 302 ) {
        store.dispatch('FedLogOut').then(() => {
          location.reload() // 为了重新实例化vue-router对象 避免bug,返回登录页面
        })
    } else {
      return response //正常返回
    }

  },
  error => {
    console.log('err' + error) // for debug
    Message({
      message: error.message,
      type: 'error',
      duration: 5 * 1000
    })
    return Promise.reject(error)
  }
)

猜你喜欢

转载自blog.csdn.net/supramolecular/article/details/84852281