封装 axios 请求

在 vue 1.0 之前,前后端请求数据使用的基本上都是 vue-resource ,2.0版本之后,使用 的大都是 axios 请求。

import axios from 'axios'

//通过 axios 来发送 get/post 请求
export default function ajax( url = '', params = {}, type ="GET") {
  //定义 Promise 对象
  let promise;
  return new Promise((resolve,reject) => {
    //判断请求方式
    if(type === "GET"){    //需要处理url字符串
      let paramStr = '';
      for(var item in params){
        paramStr += item + "=" + params[item] + "&";
      }
      if(paramStr !== ''){
        paramStr = paramStr.substr(0,paramStr.lastIndexOf("&"));
      }
      url = url + "?" + paramStr;

      //发送get请求
      promise = axios.get(url);

    }else if(type === "POST"){
      promise = axios.post(url,params);
    }

    //返回请求的结果
    promise.then((response) => {
      resolve(response.data);
    }).catch((err) => {
      reject(err);
    })

  });
}

发布了106 篇原创文章 · 获赞 46 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/zlq_CSDN/article/details/92103962