vue實戰使用ajax請求後臺數據(小白)

vue實戰使用ajax請求後臺數據(小白)javascript

前言:前端小白入門到這個階段,應該會知道咱們所作的頁面上那些數據,絕大部分都不是靜態的數據,而是經過調用後臺接口把數據渲染到頁面上的效果。ajax能夠幫助咱們更好的去實現這一點,下面是詳解在vue中如何使用它。前端

vue自己它是不支持直接發送ajax請求的,須要用到axios(一個基於promise的HTTP庫,能夠用在瀏覽器和node.js中)這是Axios文檔的介紹,詳細可查看:https://www.kancloud.cn/yunye/axios/234845vue

第一步:Axios的安裝和引入java

1.使用npm安裝:node

$npm install axios -S 

2.在vue項目公共文件(我這裏是main.js文件)中引入:ios

import axios from "axios";

3.可是呢axios跟不少第三方模塊不一樣的一點是它不能直接使用use方法,而是用下面這種方法:web

Vue.prototype.$axios = axios;

4.這樣呢在methods裏用到的時候直接用this.$axios來調用它:ajax

this.$axios.get(接口地址).then(function(respon){}).catch(function(error){})

  

 

第二步:axios.get(此次先講get的實例,下一篇寫用axios.post顯現登陸功能)npm

1.經過params選項來傳遞參數的格式是 axios.get('url',{params:{key:value}}).then() ;axios

2.本次實例的axios請求後臺數據代碼:

//右邊學員動態
        getbuyer: function () {
          this.$axios.get(this.GLOBAL.host+"/pub/api/v1/web/list_buyer",{
            params:{
              video_id:this.$route.query.video_id
            }
          }).then(res=>{
            var result = res.data;
            if (result.code == 0) {
              this.buyerArr = result.data;
            }
          })
        }

解析:

1)this.GLOBAL.host: 因爲一個項目中會有不少次ajax請求,咱們能夠把域名封裝在一個單獨的模塊中,而後用到的時候直接調用,操做代碼以下:

首先:在main.js全局文件中import咱們的封裝模塊global:

import Global from '../static/config/global'

而後:將上面的Global掛載到Vue.prototype:
Vue.prototype.GLOBAL = Global;

其次:host是在global.js模塊中封裝的域名:
const host = 'http://api.xdclass.net:8081';

最後:在每次axios請求的時候,直接 this.GLOBAL.host+"後臺接口地址"這樣就能夠了

2)params裏面是請求接口時的參數,能夠一個也能夠多個,用「,」隔開;

3)我這個參數寫法 this.$route.query.video_id ,意思是獲取到當前頁面地址欄中url參數名爲video_id的參數值;

4).then中就是請求接口成功後要作的事情,res是responce的簡寫,就是成功後後臺給咱們返回的對象,數據就在這個對象裏面;

5)this.buyerArr 是定義在data中的一個空數組,用來接收後臺返回的數據

最後:一個簡單的axios請求實例就寫完了,在這裏給新手們推薦一款軟件Postman用來模擬請求後臺數據,很是簡單易用,也能更好的觀察接口數據;下面是個人一個例子

 

  這個例子就這麼多,下次就寫post作登陸的例子,你們也能夠一塊兒來:854討論656前端的221各類問題和bug,一塊兒學習一塊兒進步;

相關文章
相關標籤/搜索