Axios 是一個基于 promise 的 HTTP 庫,可以在瀏覽器和 node.js 中使用。它支持請求和響應攔截,可以轉換請求和響應數據,并且支持請求取消、自動轉換 JSON 數據等功能。在這篇文章中,將介紹如何使用 Axios 傳 JSON。
// 在使用 Axios 時,需要先引入 axios 模塊
import axios from 'axios';
// 創建一個 JSON 對象,并將其轉換為字符串
const data = {
name: 'John',
age: 30
};
const jsonData = JSON.stringify(data);
// 在請求頭中聲明數據類型為 JSON 格式
const config = {
headers: {
'Content-Type': 'application/json'
}
};
// 發送 POST 請求,并將 JSON 數據作為請求體
axios.post('/api/user', jsonData, config)
.then((response) =>{
console.log(response.data);
})
.catch((error) =>{
console.log(error);
});
在上面的代碼中,首先創建了一個 JSON 對象,然后使用 JSON.stringify() 方法將其轉換為字符串。接著,在發送 POST 請求時,將 jsonData 作為請求體,并且在請求頭中聲明數據類型為 JSON 格式。最后,通過 then() 和 catch() 方法處理請求響應和錯誤。
除了使用 post() 方法傳 JSON 外,還可以使用 put() 方法、PATCH() 方法等,具體使用方法與 post() 方法相同。另外,如果需要傳遞 URL 參數,則可以將參數對象轉換為字符串,并將其作為請求 URL 的一部分。
// 將參數對象轉換為字符串,并將其作為請求 URL 的一部分
const params = {
id: 1,
address: 'Beijing'
};
const paramsString = new URLSearchParams(params).toString();
axios.get('/api/user?' + paramsString)
.then((response) =>{
console.log(response.data);
})
.catch((error) =>{
console.log(error);
});
在上面的代碼中,將參數對象 params 轉換為 URLSearchParams 對象,并使用 toString() 方法將其轉換為字符串。然后將字符串添加到請求 URL 中,通過 get() 方法發送 GET 請求并獲取響應。
總之,Axios 是一個非常強大、易用的 HTTP 庫,可以實現各種復雜的功能。通過本文的介紹,你應該已經掌握了如何使用 Axios 傳 JSON 數據,以及如何傳遞 URL 參數。