javascript - Vue.js 和 Axios - 在 401 上重定向

标签 javascript vue.js axios vue-router

我正在运行 Vue.jsaxios 并尝试制作如下所示的通用 API 对象:

import router from './router'
import auth from './auth'
const axios = require('axios')

export const API = axios.create({
  baseURL: `https://my-api.com/`,
  headers: {
    Authorization: auth.getToken()
  }
})

API.interceptors.response.use(null, function (error) {
  if (error.response.status === 401) {
    console.log('Failed to login')
    router.push('/Login')
  }
  return Promise.reject(error)
})

每当收到 401 错误代码时,我都试图让用户重定向到我的单页应用程序中的 Login 屏幕。 但是我没有被重定向,我的 Chrome 开发者工具也没有出现错误。我确实得到了 console.logFailed to login

最佳答案

我发现了类似的情况。我已经修复了这段代码:

import router from 'router'
import store from 'store'
...
...
axios.interceptors.response.use(function (response) {
  return response
}, function (error) {
  console.log(error.response.data)
  if (error.response.status === 401) {
    store.dispatch('logout')
    router.push('/login')
  }
  return Promise.reject(error)
})

关于javascript - Vue.js 和 Axios - 在 401 上重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52096412/

相关文章:

javascript - 使用 Vue.js 将 v-if 构造为 v-for 内部的过滤器时出现问题

javascript - Nuxt Layout 更新每条路线的数据

django - 带有 "no ' Access-Control-Allow-Origin' header 的 3xx 重定向出现在请求的资源上”错误

javascript - preventDefault() 不停止常规表单提交

javascript - 如何在 Adob​​e InDesign 中将 app.selection[0] 用于脚本

vuejs2 - promise 解决后设置数据属性值

javascript - react 和 Redux : 401 Unauthorized Error POST API Request

javascript - 基于 WebSocket 的 AMQP 与 RabbitMQ

javascript - 类型错误:generateKeyPairSync 不是函数

reactjs - axios删除请求不取body数据