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還有許多屬性,未來再見。