zoukankan      html  css  js  c++  java
  • vue项目的src-utils的request.js封装axios请求模块

    vue项目的src-utils的request.js封装axios请求模块

    /**
     * 封装 axios 请求模块
     */
    import store from '@/store'
    import axios from 'axios'
    import JSONBig from 'json-bigint'
    
    const request = axios.create({
      baseURL: 'http:///', // 基础路径
      // 自定义后端返回的原始数据
      // data: 后端返回的原始数据,说白了就是 JSON 格式的字符串
      transformResponse: [function (data) {
        try {
          return JSONBig.parse(data)
        } catch (err) {
          return data
        }
    
        // axios 默认会在内部这样来处理后端返回的数据
        // return JSON.parse(data)
      }]
    })
    // 请求拦截器
    // Add a request interceptor
    request.interceptors.request.use(function (config) {
      const { user } = store.state
      if (user && user.token) {
        config.headers.Authorization = `Bearer ${user.token}`
      }
    
      // 注意:这里务必要返回 config 配置对象,否则请求就停在这里出不去了
      return config
    }, function (error) {
      // 如果请求出错了(还没有发出去)会进入这里
      return Promise.reject(error)
    })
    
    // 响应拦截器
    export default request
  • 相关阅读:
    FastAdmin Shopro商城安装
    MYSQL ERROR 10060
    宝塔命令
    kdevtmpfsi挖矿病毒处理
    VUE安装
    原生JS请求(AJAX)
    Bootstrap: 模态框组件
    Bootstrap: 缩略图组件
    Bootstrap: 栅格系统
    Bootstrap: 下拉菜单组件 & 分页组件
  • 原文地址:https://www.cnblogs.com/wsm777/p/13983064.html
Copyright © 2011-2022 走看看