有问题的代码如下

Vue.prototype.$http.interceptors.response.use(
  response => {
    //拦截响应,做统一处理 
    if (response.data.code) {
      switch (response.data.code) {
        case 2:
          window.sessionStorage.clear()
          router.push('/login')
          
      }
    }
    return response
  },
  error => {
    return Promise.reject(error.response) // 返回接口返回的错误信息
  })

解决后的代码如下

Vue.prototype.$http.interceptors.response.use(
  response => {
    //拦截响应,做统一处理 
    if (response.data.code) {
      switch (response.data.code) {
        case 2:
          window.sessionStorage.clear()
          router.push('/login')
          return
      }
    }
    return response
  },
  error => {
    return Promise.reject(error.response) // 返回接口返回的错误信息
  })

第一种写法,会导致出现莫名其妙的弹出,也就是elementUI的Message组件,但是没有内容。所有记得return

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐