axios封装使用

本文详细介绍了如何在JavaScript环境中,特别是在Vue.js项目中,对axios库进行封装,以提高前端HTTP请求的统一性和效率。通过使用ES6特性,创建一个自定义的axios实例,设置默认配置,处理响应数据和错误,以及实现拦截器来增强功能。
摘要由CSDN通过智能技术生成
//下载 axios && qs
// 导出axios模块
import axios from 'axios'
// 导入qs模块
import qs from 'qs'
// 设置开发环境(生产环境)
switch (process.env.NODE_ENV) {
    case 'production':
        axios.defaults.baseURL = 'http://tealseaproduction:80';// 开发环境
        break;
    case 'test':
        axios.defaults.baseURL = 'http://tealseatest:3000';// 测试环境
        break;
    default:
        axios.defaults.baseURL = 'http://tealseadevelop:3000';// 开发环境
};
// 设置超时时间(十秒)
axios.defaults.timeou = 10000;
// 设置跨域请求携带凭证(是)
axios.defaults.withCredentials = true;
//设置请求参数格式(x-www-form-urlencoded)
axios.defaults.headers['Content-Type'] = "application/x-www-form-urlencoded";// 格式xxx=xxx&&xxx=xxx
//将json格式转换为x-www-form-urlencoded格式[ tranformRequest只对post请求起作用, data是传递的参数 ]
axios.defaults.transformRequest = data => qs.stringify(data);//将{name=xxx,age=xx}=>name=xxx&&am
引用: 在实际工作项目中,使用axios进行请求时,可能需要访问多个服务地址,而这些服务请求和响应的结构也可能都完全不同。为了更好地处理这种情况,我们可以通过axios.create()方法创建不同的实例来进行处理。创建实例的好处是可以单独为不同的实例配置拦截器、超时时间、请求头等。比如,可以为axios1配置某种拦截器,而为axios2配置另一种拦截器,以满足不同的需求。 引用: 创建axios实例时,可以传入一个配置对象来对实例进行配置,如果不传入配置对象,则默认使用全局的配置。如果创建了实例,但又想修改实例的某些配置,可以直接通过实例对象进行修改。需要注意的是,axios请求配置的优先级是axios请求配置 > axios实例配置 > axios全局配置。 针对axios实例的使用,可以使用实例的get、post、post_json等方法来发送请求。这些方法的使用方式与全局的axios.get、axios.post等方法类似,只是需要通过实例对象来调用。具体使用案例可以参考以下代码: ``` // 创建axios实例 const instance = axios.create({ baseURL: 'http://api.example.com', // 设置请求的基础URL timeout: 5000, // 设置超时时间为5秒 headers: { 'Content-Type': 'application/json' // 设置请求头的Content-Type为JSON } }); // 发送GET请求 instance.get('/users') .then(res => { console.log(res.data); }) .catch(error => { console.error(error); }); // 发送POST请求 instance.post('/users', { name: 'John', age: 25 }) .then(res => { console.log(res.data); }) .catch(error => { console.error(error); }); ``` 以上示例展示了如何创建axios实例,并使用实例的get和post方法发送请求。你可以根据自己的需求配置实例,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值