axios的兼容性處理


一、簡介

看看官網的簡介:

“Promise based HTTP client for the browser and node.js” 

譯:基於 Promise 的 HTTP 請求客戶端,可同時在瀏覽器和 node.js 中使用。

二、特點:

1、在瀏覽器中發送 XMLHttpRequests 請求;
2、在 node.js 中發送 http請求;
3、支持 Promise API;
4、攔截請求和響應;
5、轉換請求和響應數據;
6、自動轉換 JSON 數據;
7、客戶端支持保護安全免受 XSRF 攻擊;

三、安裝(官網)

四、應用

1、發送一個get請求

axios.get('/welfare', {
  params: {
  giftPackId: 1
  }
 })
 .then(function(res) {
  console.log(res);
 })
 .catch(function (res) {
  console.log(res);
 });

2、發送一個post請求

axios.post('/welfare', {
     giftPackId: 1
  })
  .then(function (res) {
    console.log(res);
  })
  .catch(function (res) {
    console.log(res);
  });

3、發送多個並發請求

function getUserAccount() {
  return axios.get('/welfare');
}

function getUserPermissions() {
  return axios.get('/getWelfare');
}

axios.all([getUserAccount(), getUserPermissions()])
  .then(axios.spread(function (acct, perms) {
    // ok
  }));

4、除此之外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]])

5、兼容性處理

項目中發現,在安卓4.3及以下的手機不支持axios的使用,主要就是無法使用promise。加上以下polyfill就可以了。

項目中安裝es6-promise

cnpm install es6-promise --save-dev

在axios.min.js開頭加上

require('es6-promise').polyfill();

ok! 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM