解耦axios与组件:在组件引入axios之前最好单独将它再次封装,有助于以后更换axios时不至于手忙脚乱。
//创建一个network文件夹由于存放有关axios的文件(request.js respose.js)
//将所有请求放入request.js
import axios from 'axios'
export function request(config) {
//创建axios实例
const instance = axios.create({
baseURL:'http://IP地址:端口号',
timeout:5000
})
//axios请求拦截器
instance.interceptors.request.use(config => {
//1.修改或者检查config的是否符合服务器的要求
//2.每次发送网络请求时,希望在显示区显示一个图标
//3.某些网络请求(比如登录token)必须携带一些特殊的信息
console.log(config);
return config //返回config
},err => {
console.log(err)
})
//axios响应拦截器
instance.interceptors.respose.use(res=> {
//1.修改或者检查res
console.log(res);
return res
},err => {
console.log(err)
})
retuen instance(config)//axios就是promise类型的
}
//引入封装后的axios
import{request} from './network/request'
request({
url:'/home/multidata'
}).then(res => {
console.log(res)
}).catch(err => {
console.log(err)
})