1. 程式人生 > >vue中的ajax請求和axios包詳解

vue中的ajax請求和axios包詳解

在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))