axios做数据请求封装

  1. 先写axios的默认配置(axios.js文档中 找配置默认值,把全局的 axios 默认值 复制下来、创建实例 axios.create([config])复制下来)
  2. 开始封装
  3. 代码如下:
/* 做数据请求的封装 */

/* 
1. 先写axios的默认配置(axios.js文档中 找配置默认值,把全局的 axios 默认值 复制下来、创建实例 axios.create([config])复制下来)
2. 开始封装
*/
import axios from 'axios'

//第1步写axios的默认配置
// axios.defaults.baseURL = 'https://api.example.com'; //这是跟后端地址的
// axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

axios.create({
  // baseURL: 'https://some-domain.com/api/',
  timeout: 1000,
  // headers: {'X-Custom-Header': 'foobar'}
});
//上面都是默认配置
// 第2步开始封装
const request = ({
  // axios选项(axios选项去axios.js 官网上找 文档 请求配置 (找需要的))
  url,
  method = 'GET',
  headers,
  params,
  data,
  withCredentials = false
}) => {
  return new Promise((resolve,reject) => {
    //1. 这是数据处理
    switch (method){
      case 'POST':
        axios({
          url,
          method,
          headers,
          data,
          params,
          withCredentials = false
        })
        break;
      default:
        //get put delete
        axios({
          url,
          method,
          headers,
          params,
          withCredentials = false
        }).then( res => resolve(res))
          .then( err => console.log(err))
        break;
    }
    //2. 拦截器(去axios.js官网上去找拦截器)
    // 添加请求拦截器
      axios.interceptors.request.use(function (config) {
        // 在发送请求之前做些什么
        return config;
      }, function (error) {
        // 对请求错误做些什么
        return Promise.reject(error);
      });

      // 添加响应拦截器
      axios.interceptors.response.use(function (response) {
        // 对响应数据做点什么
        return response;
      }, function (error) {
        // 对响应错误做点什么
        return Promise.reject(error);
      });

        })
}
//导出
export default request
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值