-
关于每个组件都需要单独引入 axios的问题
- 解决方法:
在main.js中导入axios,将axios添加到Vue.prototype
原型中
Vue.prototype.$http = axios //Vue的实例对象可以使用原型对象中的$http对象,组件可以看成是Vue的实例,所以可以直接使用,把其他文件中的axios替换成`this.$http`即可
- 解决方法:
-
关于发送请求,url都要拼上基准地址的情况
- 解决方法:在main.js中配置公共地址
axios.defaults.baseUrl = 基准地址
,在axios发送的请求中只需要写接口地址即可
- 解决方法:在main.js中配置公共地址
-
关于每个接口都要设置headers的问题
- 解决方法:
配置axios的请求拦截器,同一添加headers
axios.interceptors.request.use(function(config) { //请求拦截器:所有的请求之前都要执行的操作 //所以只需要在拦截器中设置请求头即可 config.headers.Authorization = localStorage.getItem('token') return config })
- 解决方法: