美文网首页
vue axios使用

vue axios使用

作者: 清远_03d9 | 来源:发表于2019-11-06 09:18 被阅读0次

    axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它本身具有以下特征:

    从浏览器中创建 XMLHttpRequest
    从 node.js 发出 http 请求
    支持 Promise API
    拦截请求和响应
    转换请求和响应数据
    取消请求
    自动转换JSON数据
    客户端支持防止 CSRF/XSRF

    1. 引用

    1) cnpm install
    2) cnpm install vue-axios --save
    3) cnpm install qs.js --save  //这一步可以先忽略,它的作用是能把json格式的直接转成data所需的格式
    
    yarn安装
    yarn add axios
    

    2. 在main.js页面引用:

    import Vue from 'vue'
    import axios from 'axios'
    Vue.prototype.$axios = axios    //全局注册,使用方法为:this.$axios
    Vue.prototype.qs = qs           //全局注册,使用方法为:this.qs
    

    3. 使用请求:

    <script>
        export default{
            data(){
                return{
                    userId:666,
              token:'',
                }
            },
            created(){
                this.$axios({
                    method:'post',
                    url:'api',
                    data:this.qs.stringify({    //这里是发送给后台的数据
                          userId:this.userId,
                          token:this.token,
                    })
                }).then((response) =>{          //这里使用了ES6的语法
                    console.log(response)       //请求成功返回的数据
                }).catch((error) =>
                    console.log(error)       //请求失败返回的数据
                })
            }
        }
    </script>
    

    4. 同时发起多个请求

    unction getUserAccount() {
      return axios.get('/user/12345');
    }
    
    function getUserPermissions() {
      return axios.get('/user/12345/permissions');
    }
    
    axios.all([getUserAccount(), getUserPermissions()])
      .then(axios.spread(function (acct, perms) {
        // Both requests are now complete
      }));
    

    4. 创建一个拥有通用配置的axios实例

    axios.creat([config])
    var instance = axios.create({
      baseURL: 'https://some-domain.com/api/',
      timeout: 1000,
      headers: {'X-Custom-Header': 'foobar'}
    });
    

    相关文章

      网友评论

          本文标题:vue axios使用

          本文链接:https://www.haomeiwen.com/subject/lmdybctx.html