zoukankan      html  css  js  c++  java
  • 创建axios拦截器

      上一篇说axios并发的时候有提到 axios的请求统一管理是为了创建拦截器

           具体说一下拦截器的创建

            import Vue from 'vue';

            import axios from 'axios';    //  引入axios 

            import { Message } from 'element-ui';  // 为了方便统一提示 引入element的Message

            创建axios实例   

      const request = axios.create({
          baseURL: myUrl , // api的base_url
          timeout: 30 * 60 * 1000 // request timeout
      })
      request.__proto__ = axios;
     
    /**
     * 创建请求拦截器
     */
    request.interceptors.request.use(
        config => {
    // 获取token 统一在请求的headers里面加入Access-Token
            const token = Vue.ls.get(ACCESS_TOKEN)
            if (token) {
                config.headers['Access-Token'= token;
            }
            /** 清楚get方法的缓存:尤其是IE浏览器缓存 */
            if (config.method.toLocaleUpperCase() === 'GET') {
                if (!config.params) config.params = {};
                config.params['sendleTime'= new Date().getTime();
            }
            return config;
        },
        error => {
            Message({
                message: '客户端请求错误: ' + error.message,
                type: 'error',
                duration: 3 * 1000
            });
            return Promise.reject(error)
        }
    )
     
    /**
     * 创建响应拦截器
     */
    request.interceptors.response.use(
        response => {
            const res = response.data;
            const code = res.status,
            if (code !== 200) {//状态码 !=200时,统一处理异常
                return Promise.reject(res.msg);
            }else {
                return response.data;
            }
        },
        error => {
            let errMsg = "请求发生错误"
            Message({
                message: errMsg,
                type: 'error',
                duration: 3 * 1000
            })
            return Promise.reject(error)
        }
    )
     
  • 相关阅读:
    windows系统-web渗透工具-AWVS
    PHP.9-HTML+CSS(三)-CSS样式
    PHP.10-PHP实例(一)-简单的计算器
    PHP.8-HTML+CSS(二)-HTML详解
    PHP.7-HTML+CSS(一)-HTML语法、常用字符实体、颜色代码
    noip2018 铺设道路
    noip2018游记
    luogu题解P1967货车运输--树链剖分
    ZROI-Day2比赛解题报告
    ZROI Day1 比赛解题报告
  • 原文地址:https://www.cnblogs.com/langzianan/p/11882022.html
Copyright © 2011-2022 走看看