简介
Axios库是一个基于Promise的HTTP客户端,可以用来发送AJAX请求。它具有良好的浏览器兼容性,可以轻松地发送XMLHttpRequests(XHR)请求,以及node.js中的http请求。
封装Axios库
1. 我们需要安装Axios库,可以使用npm或yarn安装:
npm install axios
2. 我们需要创建一个Axios实例,并配置一些基本参数,例如baseURL,timeout,headers等:
const instance = axios.create({
baseURL: 'http://localhost:3000',
timeout: 1000,
headers: {'X-Custom-Header': 'foobar'}
});
3. 我们可以使用instance.request()方法来发送网络请求:
instance.request({
url: '/foo',
method: 'get'
}).then(response => {
// 处理响应
}).catch(error => {
// 处理错误
});
4. 我们也可以使用instance.get(),instance.post()等方法来发送请求:
instance.get('/foo').then(response => {
// 处理响应
}).catch(error => {
// 处理错误
});
instance.post('/foo', {
data: {
name: 'foo'
}
}).then(response => {
// 处理响应
}).catch(error => {
// 处理错误
});
5. 我们可以将Axios实例封装为一个工具函数,供其他模块使用:
// 封装Axios库
const request = function (options) {
const instance = axios.create({
baseURL: 'http://localhost:3000',
timeout: 1000,
headers: {'X-Custom-Header': 'foobar'}
});
return instance(options);
}
export default request;
通过以上步骤,我们可以轻松地封装基于Axios库的网络请求工具,从而更加方便地发送AJAX请求。