在vue中,常常會用到數據請求,經常使用的有:vue-resourse、axiosvue
首先,引入axiosios
CDN: <script src="https://unpkg.com/axios/dist/axios.min.js"></script> npm: npm install axios 並在全局的js中引入:import axios from 'axios';
get請求npm
axios.get('/user?ID=12345') .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); });//歡迎加入全棧開發交流圈一塊兒學習交流:864305860
post請求axios
//依賴於qs包,將對象轉換成以&鏈接的字符串 //例: axios.post( postUrl ,qs.stringify({userid:1,username:'yyy'})).then(function (response) { consol
配置 axios 使用了 axios 的三個配置項,實際上只有 url 是必須的,完整的 api 能夠參考使用說明 爲了方便,axios 還爲每種方法起了別名,好比上面的 saveForm 方法等價於:api
axios.post('/user', context.state.test02)
完整的請求還應當包括 .then 和 .catch函數
.then(function(res){ console.log(res) })//歡迎加入全棧開發交流圈一塊兒學習交流:864305860 .catch(function(err){ console.log(err) })
當請求成功時,會執行 .then,不然執行 .catch 這兩個回調函數都有各自獨立的做用域,若是直接在裏面訪問 this,沒法訪問到 Vue 實例 這時只要添加一個 .bind(this) 就能解決這個問題post
.then(function(res){ console.log(this.data) }.bind(this))