Axios == [toc] github文檔:[axios github]( https://github.com/axios/axios) 該模塊相容瀏覽器端和node.js後端發送http請求。 本文主要簡單介紹了請求的發送和響應callback的註冊。也就是axios發送ajax請求的使用方 ...
目錄
Axios
github文檔:axios github
該模塊相容瀏覽器端和node.js後端發送http請求。
***
本文主要簡單介紹了請求的發送和響應callback的註冊。也就是axios發送ajax請求的使用方式,至於具體的請求內容和響應內容對象屬性定義;以及全局配置;攔截器功能,請移駕到axios github文檔,已經很簡介明瞭了。
特征
- Axios 支持在瀏覽器端使用XMLHttpRequest發送http請求;
- 在node.js後端可以發送http請求;
- 支持攔截請求和響應
- 支持轉換請求負載數據和響應數據
- 支持取消請求
- 支持自動轉換為JSON 數據
- 客戶端支持防護抵禦XSRF 跨站請求偽造。
axios提供主要三種發起請求的方式
以下config相當於是請求的內容封裝對象
方式一:直接axios實例直接call方式
import Axios from 'axios'
const config = {
method: 'post',
url: '/user/12345',
data: {
firstName: 'Fred',
lastName: 'Flintstone'
}
}
Axios(config) // 發送一個post請求
// 或者 Axios(url[,config]) 只提供url參數預設發送一個get請求到url
const config02 = {
method: 'get'
}
Axios('/users/', config02) // 發送一個get請求到'/users/'
方式二:通過axios實例提供的不同http請求方式的方法
即axios實例提供了方法對了同方法名的http請求方式,不用再config參數中指定 method方法,而且將目的url和負載data都從config中剝離出來。
import Axios from 'axios'
Axios.get(url[,config])
Axios.post(url[,config])
方式三:其實是從第二種方式中單獨提出來的
Axios.request(config)
為什麼單獨提出來,因為request的參數提供都是config object,而且沒指定http請求的方式,類似第一種方式。
推薦使用第二種方式
響應模式
既然是ajax請求,那麼對於請求的處理模式的定義其實是回調函數的定義,只不過對於響應內容封裝再一個響應對象中,回調函數調用時將得到響應對象作為參數再回調中使用。
給axios對象設置回調函數
通過對象的then() api進行設置回調
import Axios from 'axios'
Axios.get(url, config).then(succc_callback, fail_callback) // 對於失敗的callback也可以通過.catch()方式添加,fail_callback的參數則是一個error對象,該對象的response屬性則是響應對象了。
總結
- 對於axios這裡主要簡單介紹發送請求和響應處理的使用。
- axios可以直接通過三種api方式直接發送請求,也可以通過先通過create構造出對象,再利用對象使用api再發送請求。
- axios的node.js後端的使用參考github文檔。
- 至於get請求和post請求,get請求使用params屬性,post請求使用data屬性,post發送的content-type預設時‘application/json’。