axios功能的特點:
- 在瀏覽器中發送 XMLHttpRequests 請求
- 在 node.js 中發送 http請求
- 支持 Promise API
- 攔截請求和響應
- 轉換請求和響應數據
- 等等
axios請求方式:
- axios(config)
- axios.request(config)
- axios.get(url[, config])
- axios.delete(url[, config])
- axios.head(url[, config])
- axios.post(url[, data[, config]])
- axios.put(url[, data[, config]])
- axios.patch(url[, data[, config]])
可能需求同時發送兩個請求。使用axios.all, 可以放入多個請求的數組
全局配置
在開發中可能很多參數都是固定的。這個時候可以進行一些抽取, 也可以利用axiox的全局配置
常見的配置選項
請求地址 url: '/user'
請求類型 method: 'get'
請根路徑 baseURL: 'http://www.mt.com/api'
請求前的數據處理 transformRequest:[function(data){}]
請求後的數據處理 transformResponse: [function(data){}]
自定義的請求頭 headers:{'x-Requested-With':'XMLHttpRequest'}
URL查詢對象 params:{ id: 12 } (請求方式是get時)
查詢對象序列化函數 aramsSerializer: function(params){ }
request body data: { key: 'aa'}(請求方式是post時)
超時設置s timeout: 1000,
跨域是否帶Token withCredentials: false,
自定義請求處理 adapter: function(resolve, reject, config){},
身份驗證信息 auth: { uname: '', pwd: '12'},
響應的數據格式 json / blob /document /arraybuffer / text / stream responseType: 'json',
axios封裝
如何使用攔截器
axios提供了攔截器,用於我們在發送每次請求或者得到相應後,進行對應的處理。