9-AJAX-下-axios
Axios 是一个基于 promise 的 HTTP 库,它在浏览器和 node.js 中都可以使用。它在浏览器端创建 XMLHttpRequests,在 node.js 中使用 http 模块。
以下是一些使用 Axios 的基本示例:
- 使用 GET 方法获取数据:
axios.get('https://api.example.com/data')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
- 使用 POST 方法发送数据:
axios.post('https://api.example.com/data', {
firstName: 'Fred',
lastName: 'Flintstone'
})
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
- 同时发送多个请求:
function getData() {
return axios.get('https://api.example.com/data');
}
function getOtherData() {
return axios.get('https://api.example.com/otherData');
}
axios.all([getData(), getOtherData()])
.then(axios.spread((dataRes, otherDataRes) => {
console.log(dataRes.data);
console.log(otherDataRes.data);
}))
.catch(error => {
console.error(error);
});
- 取消请求:
const source = axios.CancelToken.source();
axios.get('https://api.example.com/data', {
cancelToken: source.token
})
.catch(function (thrown) {
if (axios.isCancel(thrown)) {
console.log('Request canceled', thrown.message);
} else {
// handle other errors
}
});
// cancel the request
source.cancel('Operation canceled by the user.');
- 使用 Axios 创建实例:
const instance = axios.create({
baseURL: 'https://api.example.com/',
timeout: 1000,
headers: {'X-Custom-Header': 'foobar'}
});
instance.get('data')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
- 使用 Axios 处理响应数据:
axios.get('https://api.example.com/data')
.then(response => {
// 处理 response 数据
console.log(response.data);
})
.catch(error => {
console.error(error);
});
以上就是一些使用 Axios 的基本示例,Axios 还有更多高级功能,如拦截器(interceptors)、取消请求(cancellation)、转换请求数据(transformRequest)、转换响应数据(transformResponse)等。
评论已关闭