axios封装

一、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
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • http.js // 在http.js中引入axios import axios from 'axios'; //...
    hibigger阅读 497评论 0 0
  • 安装依赖 安装axios npm i axios 安装qs npm i qs 封装 【utils/request....
    瞌睡大伯父阅读 1,696评论 3 17
  • 1.1axios二次封装 import axios from 'axios' import router from...
    Nicholas_liang阅读 786评论 3 7
  • 一个APP里面少不了网络请求,与服务端进行数据交互,在公司项目中用到了axios这个组件,使用很方便,分享下使用情...
    湖北的白阅读 18,594评论 2 17
  • 这段时间一直在叨唠房子,那是一个完全陌生的领域,砖、石、沙、木料、板材、水泥……每次叨念都会想起父亲和父亲遗留下来...
    布衣青青阅读 379评论 3 5