网络模块封装———axios
前端模块封装方法:*jsonp的原理和封装 *axios方法——axio:ajax i/o system
axios功能的特点:
1、在浏览器中发送XMLHttpRequests请求
2、在node.js中发送http请求
3、支持Promise API
4、拦截请求和响应
5、转换请求和响应数据
axios请求方式;
1、axios(config)
2、axios.get(config)
3、axios.get(url,config)
注意 axios是一个独立发的框架, 需要单独安装
**axios发送并发请求
axios.all([axios({
url:’’
params:{
}
,axios({
url:’’
params:{
}
})]).then(results=>{
console.log(results)
})
axios的配置信息
1、全局配置———代码重复度较高的时候就可以进行全局配置
(1)axios.defaults.baseURL=Url
(2)axios.defaults.timeout=time(设置超时时间)
如何创建axios实例
const instance1=axios.creat({
baseURL:})
axios模块封装
1、创建一个js文件
2,export function request(config){
return new Promise((resolve,reject)=>{
const instance=axios.create({
baseURL:‘http://123.207.32.32:8080’,
timeout:3000})
/instance(config).then(res=>{
resovle(res)}).catch(err=>{
reject(err)})/
//可以直接导出
return instance(config)
},
使用axios与promise 相结合的方式对axios进行封装
3、使用export function 导出的 导入时需要加入{ 函数名}
axios的拦截器的使用
1、拦截全局:axios.interceptors.request.use(config=>{console.log(confing)
return config
1.1响应拦截:
instance.interceptors.response.use(res=>{
res=>{
console.log(res)
return res.data
},err=>{
console.log(err)
}
})
},err=>console.log(err))
2、拦截局部:axios.interceptors.