# Axios

控制着前后端数据交互 一般情况下都需要对Axios进行封装

# 方法

  • get(url,config)
  • post(url,data,config)
参数 作用
url url路径
data 请求体(只对post有效)
config 其他配置

# config

  • params url携带的参数
  • headers 请求头

# 创建实例

axios.create({config})

const service = axios.create({
    baseURL: "xxx",
    timeout: 1000 * 60 * 1
})

# 封装API

创建一个JS对象封装

const api = {
    getImage(param){
        return service.get("url",{
            params: {
                param1,
                param2
            }
        })
    }

    postImage(data){
        return service.post("url",data,{
            params: {
                param1
            },
            headers: {
                key: value
            }
        })
    }
}

# 拦截器

axios实例.interceptors

# request

axios实例.interceptors.request(success,error)

service.interceptors.request.use(
    config => {
        return config;
    },
    err => {
        return Promise.reject(err);
    }
)

# response

axios实例.interceptors.response(success.error)

service.interceptors.response.use(
    response => {
        return response.data;
    },
    err => {
        return Promise.reject(err);
    }
)