標籤:targe head ssi axios rom 開頭 XML syntax tool
一、簡介
看看官網的簡介:
“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請求
123456789 |
axios.post( ‘/welfare‘ , { giftPackId: 1 }) .then( function (res) { console.log(res); }) . catch ( function (res) { console.log(res); }); |
3、發送多個並發請求
123456789101112 |
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還提供還有如下幾種請求方式:
12345678910111213 |
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
1 |
cnpm install es6-promise --save-dev |
在axios.min.js開頭加上
1 |
require( ‘es6-promise‘ ).polyfill(); |
ok!
axios的相容性