1. 程式人生 > >Vue.js學習筆記——請求資料的幾種方式(v-resource,axios)

Vue.js學習筆記——請求資料的幾種方式(v-resource,axios)

一、 v-resource

1. 在搭建好腳手架之後,安裝v-resource ——npm/cnpm install v-resource --save

2. 在main.js中進行註冊

              import VueResource from 'vue-resource' 

               Vue.use(VueResource)

3. 使用

基於全域性Vue物件使用http Vue.http.get('/someUrl', [options]).then(successCallback, errorCallback); Vue.http.post('/someUrl', [body], [options]).then(successCallback, errorCallback);

在一個Vue例項內使用$http this.$http.get('/someUrl', [options]).then(successCallback, errorCallback); this.$http.post('/someUrl', [body], [options]).then(successCallback, errorCallback);

在傳送請求後,使用then方法來處理響應結果,then方法有兩個引數,第一個引數是響應成功時的回撥函式,第二個引數是響應失敗時的回撥函式。

舉個栗子:

this.$http.get('http://jsonplaceholder.typicode.com/posts')
        .then(function(data){
            // console.log(data)
            this.blogs = data.body.slice(0,10);
            console.log(this.blogs)

        })

其中.then(function(data){})強烈建議將其改為ES6的箭頭函式——data => {},用以防止this的指向出現問題

二、axios

由於v-resource在後續的版本不再更新,所以現在主流使用的請求資料工具是 axios 

1. 安裝 cnpm install axios --save

2. 註冊

import axios from 'axios'

3.使用(使用get/post按照實際情況決定)

​
axios.get("https://wd6439573863iggxjt.wilddogio.com/posts.json")
        .then(function(data){
            return data.data

        })

​

4. 補充

多次請求相同的IP地址可使用類似

axios.defaults.baseURL = 'https://wd6439573863iggxjt.wilddogio.com'

來對axios請求的網址進行處理,如下

axios.get("/posts.json")
        .then(function(data){
            return data.data

        })

除此之外axios還有許多屬性,未來再見。