axios 全攻略之基本介紹與使用(GET 與 POST)

axios

axios 是一個基於 Promise 的 HTTP 客戶端,專門爲瀏覽器和 node.js 服務vue

Vue 2.0 官方推薦使用 axios 來代替原來的 Vue request,因此這裏介紹一下 axios 的功能和基本的使用方法,但願可以對各位全部幫助。^_^node

功能

  • 在瀏覽器中發送 XMLHttpRequests 請求
  • 在 node.js 中發送 http 請求
  • 支持 Promise API
  • 攔截請求和響應
  • 轉換請求和響應數據
  • 取消請求
  • 自動轉換 JSON 數據格式
  • 客戶端支持防範 XSRF 攻擊

瀏覽器支持

axios 可以支持 IE7 以上的 IE 版本,同時可以支持大部分主流的瀏覽器,須要注意的是,你的瀏覽器須要支持 Promise,纔可以使用 axios。因此比較好的作法是先安裝 polyfill,而後再使用 axios。ios

安裝

Using npm:npm

$ npm install axiosaxios

Using bower:瀏覽器

$ bower install axiosmarkdown

Using cdn:post

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>lua

使用

這裏以 Vue 爲例:在 NPM 中安裝 axios 以後,須要在 main.js 文件中引用 packagespa

import axios from 'axios'

而後全局綁定

Vue.prototype.$http = axios

而後能夠在 .vue 文件中使用 $http 來代替 axios

GET

// Make a request for a user with a given ID axios.get('/user?ID=12345') .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }); // Optionally the request above could also be done as axios.get('/user', { params: { ID: 12345 } }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }); 

 

POST

axios.post('/user', { firstName: 'Fred', lastName: 'Flintstone' }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); });

 

同時發送多個請求

function getUserAccount() { return axios.get('/user/12345'); } function getUserPermissions() { return axios.get('/user/12345/permissions'); } axios.all([getUserAccount(), getUserPermissions()]) .then(axios.spread(function (acct, perms) { // Both requests are now complete }));

 

固然,axios 的功能還包括 axios API、interceptor 等等,這裏想要詳細瞭解的能夠查看官方文檔:axios,後面陸續會介紹下 interceptor 的使用和各種參數的配置。

相關文章
相關標籤/搜索