封装 axios 请求

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

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);
    })

  });
}