封装ajax请求

2018-12-01  本文已影响0人  夜夜夜空灵

由于动态数据需要在服务器请求数据
在使用node搭建好服务器之后,就可以在vue请求服务端的数据了
首先先安装axios

npm install axios

在src/api目录下新建一个index.js文件,这是接口

import axios from 'axios'

export default function ajax(url='',params={},type='GET'){
       //1.定义promise对象
        let promise;
        return new Promise((resolve,reject) =>{
              //2.判断请求方式
              if('GET' == type){
                    let paramsStr = '';
                    Object.keys(params).forEach(key =>{
                          paramsStr +=key + '=' +params[key] +&
                    });
                    if(paramsStr !== ''){
                          paramsStr = paramsStr.substr(0,paramsStr.indexOf('&'))
                    }
                    //完整路径
                    url += '?' + paramsStr
                    //发送请求
                    promise = axios.get(url)
        }else if ('POST' === type){
                    promise = axios.post(url,params)
        }
        //3.返回请求结果
        promise.then((response) =>{
              resolve(resopnse.data)
      }).catch(error =>{
              rejext(error)
        })
    })
}
上一篇下一篇

猜你喜欢

热点阅读