在vue中封装axios,以及使用方法

有时间补全,先记着。

  • 这是一个post方法
  • 这里需要稍稍注意一下。因为axios的post方法发送去后台的是一个json字符串,后端只能接收到键值对形式的值,所以使用qs.stringify()将值序列化
    1. 使用时需要在顶部引入qs
    2. 使用npm/cnpm或yarn下载的axios会将qs一起下载,无需再下载,直接引入即可
<script>
import qs from 'qs'//引入qs模块
export default {
//使用时
//例如放在钩子函数
created(){
        this.getSw_data()
        .then(res => {
            console.log('>> 成功',res)//通过.then拿到返回的数据
        })
        .catch(error => {
            console.log('>> 失败',error)
        })
    },
//在methods中写
methods:{
      // 叫换的数据获取。
    getSw_data(){
        return new Promise((resolve,reject) =>{//使用Promise封装一层,利用特性将获取到的数据返回出去
        
            this.$http.post("url",qs.stringify({//使用方式:qs.stringify()
            a:1,
            b:0,
        }))
        .then(res => {
            resolve(res.data)
        })
        .catch(err => {
            reject(err.data)
        })
        
        })
}
}
script>

你可能感兴趣的:(在vue中封装axios,以及使用方法)