axios 简介
axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它本身具有以下特征:
从浏览器中创建 XMLHttpRequest从 node.js 发出 http 请求支持 Promise API拦截请求和响应转换请求和响应数据取消请求自动转换JSON数据客户端支持防止 CSRF/XSRF1、背景
在项目开发中ajax请求是必不可缺少一部分ajax请求不需要loading或则请求时间少于多少是不显示loading项目中对请求的同一化处理(错误处理,返回数据格式化处理,loading处理,token处理)配置基于个人vue项目进行配置,已加载vux相关组件,会进行一些依赖的import(可以按需配置)import Vue from 'vue'import axios from 'axios'//项目的一些环境配置参数,读取hostimport config from '@/config'//vuex状态管理,这里主要进行对全局loading的控制import store from '@/store'//vue-router对相应状态码的页面操作(router实例)import router from '@/router'//console对应封装import { log } from '@/utils'
2、解决方案
对于axios的封装中我们定义几个参数进行申明
// 加载最小时间const MINI_TIME = 300// 超时时间(超时时间)let TIME_OUT_MAX = 5000// 环境valuelet _env = process.env.NODE_ENV// 请求接口hostlet _apiHost = config.api// 请求组(判断当前请求数)let _requests = []
一般一个项目中的根host和Content-Type都是统一的,这里对axios进行统一的配置(如果这个后端需要formData格式的表单即content-type='application/x-/NoManReady/Tide/blob/master/src/utils/fetch.js
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。