一、介紹
Axios 是一個基於 promise 的 HTTP 庫,可以用在瀏覽器和 node.js 中。
可以提供以下服務:
1、從瀏覽器中創建XMLHttpRequests
2、從node.js創建http請求
3、支持PromiseAPI
4、攔截請求和響應
5、轉換請求數據和響應數據
6、取消請求
7、自動轉換JSON數據
8、客戶端支持防御XSRF
二:使用
1、axios的安裝:
安裝命令; npm install axios
2、axios五種請求:
1⃣️get: 一般多用於獲取數據
不帶參數
方式一: axios({ methods: 'get', url: '/ulr' })
方式二: axios.get('/url')
帶參數 方式一: axios.get('/url', {params: {id: 12}}) //請求的地址實際為 localhost:8080/url?id=12 方式二: axios({ methods: 'get', url: 'url', params: { id:12 } })
2⃣️post: 主要提交表單數據和上傳文件
let data = {} let config = {} 方式一: axios.post('/url',data,config) 方式二: axios({ methods: 'post', url: '/url', data: data, config: config })
其中 data可以有兩種格式form-data(圖片上傳,文件上傳) applicition/json(目前比較流行)
上面兩種方法 都是 appliction/json格式
如下為: form-data
let formData = new FormData()
let data = {
id: 12
}
for (let key in data) {
formData.append(key, data[key]) //床架form-data格式數據
}
axios({
methods: 'post',
url: '/url',
data: formData
})
該請求發出之后可以在瀏覽器中查看此次請求的request header里面content-type: 為 form-data形式
3⃣️put對數據全部進行更新
該請求和post類似,只是請求方法不同
4⃣️patch只對更改過的數據進行更新
該請求和post類似,只是請求方法不同
5⃣️delete刪除請求(參數可以放在url上也可以和post一樣放在請求體中)
axios.delete('/url', {params: {id: 12}}) 參數在url params很重要
axios.delete('/url', {data: {id: 12}}) 參數在請求體中 將params改為 data就行