vue中的ajax請求和axios包詳解
阿新 • • 發佈:2018-11-25
在vue中,經常會用到資料請求,常用的有:vue-resourse、axios
首先,引入axios
CDN: <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
npm: npm install axios 並在全域性的js中引入:import axios from 'axios';
get請求
axios.get('/user?ID=12345') .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); });//歡迎加入全棧開發交流圈一起學習交流:864305860
post請求
//依賴於qs包,將物件轉換成以&連線的字串
//例:
axios.post( postUrl ,qs.stringify({userid:1,username:'yyy'})).then(function (response) {
consol
配置 axios 使用了 axios 的三個配置項,實際上只有 url 是必須的,完整的 api 可以參考使用說明 為了方便,axios 還為每種方法起了別名,比如上面的 saveForm 方法等價於:
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) 就能解決這個問題
.then(function(res){
console.log(this.data)
}.bind(this))