Vuejs2.0學習筆記之axios&vue-resource

  1. 在Vue中發送AJAX請求:Vue自己並不支持發送ajax請求,須要使用第三方插件vue-resources(1.0, 可是2.0中不建議使用)、官方推薦使用axis(2.0);可是也能夠用jQuery;
  2. 什麼是axios?axios是一個基於promise的http請求客戶端,用來發送請求,也是vue2.0官方推薦使用的;在vue2.0官方推薦的,同時再也不對vue-resource進行更新和維護。
  3. axios的github地址和使用方式:https://github.com/axios/axios
  4. 使用axios說明:
axios([options])  
axios.get(url[,options]);
    傳參方式:
        1.經過url傳參
        2.經過params選項傳參
axios.post(url,data,[options]);
    axios默認發送數據時,數據格式是Request Payload,並不是咱們經常使用的Form Data格式,
    因此參數必需要以鍵值對形式傳遞,不能以json形式傳參
    傳參方式:
        1.本身拼接爲鍵值對
        2.使用transformRequest,在請求發送前將請求數據進行轉換
        3.若是使用模塊化開發,能夠使用qs模塊進行轉換
 
axios自己並不支持發送跨域的請求,沒有提供相應的API,做者也暫沒計劃在axios添加支持發送跨域請求,因此只能使用第三方庫
  1. 如何解決跨域問題:
    • 客戶端經過jsonp或者vue-resource支持: vue-resource幫助文檔
    • 若是服務端經過CORS支持跨域,則客戶端不須要處理跨域
使用vue-resource的this.$http發送請求:
    this.$http.get(url, [options])
    this.$http.head(url, [options])
    this.$http.delete(url, [options])
    this.$http.jsonp(url, [options])
    this.$http.post(url, [body], [options])
    this.$http.put(url, [body], [options])
    this.$http.patch(url, [body], [options])

事例:輸入github的uid,經過github提供的api來獲取name和avatar.vue

相關文章
相關標籤/搜索