axios 是一個非常好用的基于 promise 的現代化的 http 請求庫,它可以在瀏覽器和 node.js 中使用。它不僅支持一般的 GET、POST、PUT 等請求,還支持綁定攔截器、取消請求等功能。
import axios from 'axios';
axios.get('/user?id=12345')
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
axios.post('/user', {
firstName: 'Fred',
lastName: 'Flintstone'
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
在使用 axios 發送請求時,可以使用 JSON 格式的數據進行傳輸。JSON 是一種輕量級的數據交換格式,在前后端數據傳輸的常用格式之一。下面是一個 JSON 格式的示例:
{
"name": "小明",
"age": 20,
"email": "xiaoming@example.com",
"address": {
"province": "北京市",
"city": "北京市",
"district": "朝陽區"
},
"books": [
{
"name": "JavaScript高級程序設計",
"author": "Nicholas C. Zakas"
},
{
"name": "HTTP權威指南",
"author": "David Gourley"
}
]
}
在 axios 中,發送 JSON 格式的數據可以使用如下方式:
axios.post('/user', {
name: '小紅',
age: 18,
address: {
province: '北京市',
city: '北京市',
district: '海淀區'
}
}, {
headers: {
'Content-Type': 'application/json;charset=utf-8'
}
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
這里需要設置 headers,將 content-type 設置為 application/json;charset=utf-8,表示要發送的數據是 JSON 格式的。這樣在服務器端就可以正確地解析接收到的數據。