axios 認識
axios 是一個基於Promise 用於瀏覽器和 nodejs 的 HTTP 客戶端,本質上也是對原生XHR的封裝。
axios 特徵
axios是Promise的實現版本,符合最新的ES規範,它本身具有以下特徵:
- 1.從瀏覽器中創建 XMLHttpRequest
- 2.支持 Promise API
- 3.客戶端支持防止CSRF
- 4.提供了一些併發請求的接口(重要,方便了很多的操作)
- 5.從 node.js 創建 http 請求
- 6.攔截請求和響應
- 7.轉換請求和響應數據
- 8.取消請求
- 9.自動轉換JSON數據
注意:防止CSRF:就是讓你的每個請求都帶一個從cookie中拿到的key, 根據瀏覽器同源策略,假冒的網站是拿不到你cookie中得key的.
這樣,後臺就可以輕鬆辨別出這個請求是否是用戶在假冒網站上的誤導輸入,從而採取正確的策略。
安裝使用流程
- 下載axios npm install axios 安裝選項
- 引用 require() // 直接引入js文件 或者網址
請求類型未指定
axios({
url: 請求地址,
method: 請求類型,
data: data
})
.then(()=>{})
.catch(()=>{})
- get 請求
axios.get(請求地址,參數).then(()=>{
}).catch(()=>{})
- post 請求
axios.post(請求地址,參數).then(()=>{
}).catch(()=>{})
- all() 方法 賽跑
// axios.all()
function axiosOne(){
return axios.get('http://www.url.one/')
};
function axiosTwo(){
return axios.get('http://www.url.two')
};
// axios.spread() ---將回調函數的執行結果轉爲同步 默認異步賽跑
axios.all([axiosOne(),axiosTwo()])
.then(axios.spread(function(acct, perms){
console.log(acct);//請求一的結果;
console.log(perms);//請求二的結果
}))