1、簡介javascript
看看官網的簡介:html
「Promise based HTTP client for the browser and node.js」 java
譯:基於 Promise 的 HTTP 請求客戶端,可同時在瀏覽器和 node.js 中使用。node
2、特色:ios
一、在瀏覽器中發送 XMLHttpRequests 請求;
二、在 node.js 中發送 http請求;
三、支持 Promise API;
四、攔截請求和響應;
五、轉換請求和響應數據;
六、自動轉換 JSON 數據;
七、客戶端支持保護安全免受 XSRF 攻擊;es6
3、安裝(官網)npm
4、應用axios
一、發送一個get請求promise
axios.get('/welfare', { params: { giftPackId: 1 } }) .then(function(res) { console.log(res); }) .catch(function (res) { console.log(res); });
二、發送一個post請求瀏覽器
axios.post('/welfare', { giftPackId: 1 }) .then(function (res) { console.log(res); }) .catch(function (res) { console.log(res); });
三、發送多個併發請求
function getUserAccount() { return axios.get('/welfare'); } function getUserPermissions() { return axios.get('/getWelfare'); } axios.all([getUserAccount(), getUserPermissions()]) .then(axios.spread(function (acct, perms) { // ok }));
四、除此以外axios還提供還有以下幾種請求方式:
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]])
五、兼容性處理
項目中發現,在安卓4.3及如下的手機不支持axios的使用,主要就是沒法使用promise。加上如下polyfill就能夠了。
項目中安裝es6-promise
cnpm install es6-promise --save-dev
在axios.min.js開頭加上
require('es6-promise').polyfill();
ok!
原文地址:https://www.cnblogs.com/leaf930814/p/6807318.html