美文网首页
axios封装

axios封装

作者: 一个前端程序员 | 来源:发表于2019-10-14 16:24 被阅读0次

一、axios配置优先级

axios请求config参数 > const instance = axios.create()的defaults属性 > axios.defaults的默认值

二、跨域请求时

需要设置 withCredentials = true,表示跨域请求时使用凭证

三、axios简单封装

import axios from 'axios';
import qs from 'qs';

// 设置全局axios的默认值
axios.defaults.timeout = 5000;
axios.defaults.baseURL = 'http://localhost:7001';

// 拦截器
axios.interceptors.request.use(
    config => {
        config.data = qs.stringify(config.data);
        config.headers = {
            'Content-Type': 'application/x-www-form-urlencode'
        };
        return config;
    }, 
    error => {
        return Promise.reject(error);
    }
);
axios.interceptors.response.use(
    response => {
        return response;
    },
    error => {
        return Promise.reject(error);
    }
);

// get请求
const get = (url, params = {}) => {
    return new Promise((resolve, reject) => {
      axios.get(url,{params}).then(res =>{
        resolve(res.data);
      }).catch(err => {
        reject(err);
      });
    });
}

// post请求
const post = (url, params = {}) => {
    return new Promise((resolve, reject) => {
      axios.post(url,params).then(res =>{
        resolve(res.data);
      }).catch(err => {
        reject(err);
      });
    });
}
export {
    get, post
}

相关文章

网友评论

      本文标题:axios封装

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