vue-resource和vue-axios的简单使用方法
   
    vue-resource的使用
   
    首先要在main.js中引入
   
import Vue from 'vue';
import VueResource from 'vue-resource';
Vue.use(VueResource);
    然后在组件中才能使用
   
<template lang="html">
</template>
<script>
export default {
    data(){
        return{
        }
    },
    methods:{
        loadData(){
            this.$http.get('/url').then((response) => {
                // success
                console.log(response.body.data);
            }),(error => {
                // error
                console.log(error);
            })
        }
    }
}
</script>
<style lang="css">
</style>
    vue-axios的使用
   
    首先要在main.js中引入
    
     But
    
    axios不能使用use方法
   
- Vue.prototype方法
import Vue from 'vue';
import axios from 'axios';
Vue.prototype.$axios = axios;
    然后在组件中才能使用
   
<template lang="html">
</template>
<script>
export default {
    data(){
        return{
        }
    },
    methods:{
        loadData(){
            this.$axios.get(['/static/data/user.json'])
                .then((response) => {
                    // success
                    console.log(response.data);
                })
                .catch((error) => {
                    //error
                    console.log(error);
                })
        }
    }
}
</script>
<style lang="css">
</style>
    vue-axios的错误处理
   
    
     why?
    
    实现网络不可达,网络无响应等等情况下的处理机制
   
    Handling Errors
   
axios.get('/user/12345')
    .catch(function (error) {
        if (error.response) {
            // The request was made and the server responded with a status code
            // that falls out of the range of 2xx
            console.log(error.response.data);
            console.log(error.response.status); // 状态码
            console.log(error.response.headers);
        } else if (error.request) {
            // The request was made but no response was received
            // `error.request` is an instance of XMLHttpRequest in the browser and an instance of
            // http.ClientRequest in node.js
            console.log(error.request);
        } else {
            // Something happened in setting up the request that triggered an Error
            console.log('Error', error.message);
        }
        console.log(error.config);
    });    
    You can define a custom HTTP status code error range using the validateStatus config option. –自定义选项
   
axios.get('/user/12345', {
    validateStatus: function (status) {
        return status < 500; // Reject only if the status code is greater than or equal to 500
    }
})
    Summary
   
- 只是在简单使用上面做了总结 后续继续完善
- 20170629 补充了handleErrors部分 来自github官网 有时间贴demo
 
版权声明:本文为chengjinrui原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
