美文网首页
Axios拦截配置

Axios拦截配置

作者: 好名字都让你们用了 | 来源:发表于2019-08-28 17:02 被阅读0次

以下例子是在vue-cli3下的配置

  1. axios.create() // 创建axios的一个实例,该实例有get和post的方法
  2. process.env.VUE_APP_URL
    • 如果是开发环境,它的值是根目录下.env.development -> VUE_APP_URL对应的值
    • 如果是生成环境,它的值是根目录下.env.production -> VUE_APP_URL对应的值
  3. service.interceptors.request.use() // 配置请求之前的拦截操作
  4. service.interceptors.response.use // 请求成功之后的拦截操作
import axios from 'axios';
import store from '../store';
import router from '../router'
// 创建axios实例
const service = axios.create({
    baseURL: process.env.VUE_APP_URL, // api 的 VUE_APP_URL
    timeout: 50000 // 请求超时时间(因为需要调试后台,所以设置得比较大)
})

// request拦截器,在请求之前做一些处理
service.interceptors.request.use(
    config => {
        console.log('config',config);
        // 给请求头添加laohu-token
        if (store.state.token) {
            config.headers['laohu-token'] = store.state.token;
        }
        return config
    },
    error => {
        console.log(error) // for debug
        Promise.reject(error)
    }
)

// response 拦截器,数据返回后进行一些处理
service.interceptors.response.use(
    response => {
        /**
         * code为非20000是抛错 可结合自己业务进行修改
         */
        const res = response.data
        if (res.code == 666) {
            return res;
        } else if (res.code == 603){
            // code为603代表token已经失效,
            // 提示用户,然后跳转到登陆页面
            router.push('/login')
        } else {
            Promise.reject(res.msg);
        }
    },
    error => {
        Promise.reject('网络异常');
    }
)
export default service

相关文章

  • Vue方向:axios全局拦截器以及配置的优先级

    1、axios全局拦截器 axios在每一个请求配置中都有一个配置项用于拦截请求或响应结果 这个拦截只能拦截当前配...

  • axios的配置及拦截器

    axios的基本配置和拦截配置http://www.axios-js.com/zh-cn/docs/[http:/...

  • vue-resource/axios发起请求

    vue-resource 发出 axios发出 vue-resource全局配置 axios 拦截器

  • ajax 请求

    Vue开发中解决跨域问题 Axios 配置请求拦截

  • axios使用POST下载excel文件

    使用axios.post(url,data,params)向后台请求excel流文件 如果配置了axios响应拦截...

  • Axios拦截配置

    以下例子是在vue-cli3下的配置 axios.create() // 创建axios的一个实例,该实例有g...

  • axios拦截配置

    之前一直不太懂拦截怎么写,最近参加一个项目,发现都可以通用的 这是引用的loading的方法的文件,这些都是可以通...

  • React 使用 Axios

    Axios 如何发送, 端口不一致, 使用 proxy 配置转发 axios 拦截器, 同意 loading 处理...

  • 关于数据交互

    express/axios 获取不到header中的某些字段 问题:axios响应拦截中,取不到后端配置在head...

  • axios封装

    第一步:配置axios 首先,创建一个axios.js,这里面存放的时axios的配置以及拦截器等,最后导出一个a...

网友评论

      本文标题:Axios拦截配置

      本文链接:https://www.haomeiwen.com/subject/yurmectx.html