在学习vue的过程中,肯定会想到要进行联网,但是发现这样一个问题:
《vue.js 权威指南》中讲网络请求讲的是vue-resource,但是我接触到的一个项目没有用这个,而用的是axios和vue-axios,就在想这两个是都可以用呢,还是怎么回事呢。
原来 vue-resource 最后一次更新在两年前,已经不再更新了,而vue的作者更推荐axios。
那咱就不学习 vue-resource了,直接用axios进行网络的请求。
axios的介绍详情详见 https://www.npmjs.com/package/axios
另外有一点,就是看到axios的时候,直接看到了axios和vue-axios,那这两者是什么关系呢,我该什么时候用哪个呢,后面进行学习探讨。
针对axios的一个解决方案
在其中我们有一个一个功能:因为网络环境等因素,要根据不同的情况访问不同的域名,所以需要在每次请求的时候都要跟随设置改变域名。
但是根据常规开发,在最开始就创建了service,但是在每次请求的时候修改service的baseURL是不能解决问题的,解决问题的方法是修改在service的拦截器中进行修改,每当请求一次服务的时候就会走一遍拦截器,具体修改如下:
let service = axios.create({
baseURL: getDomain() ,
})
service.interceptors.request.use((config) => {
config.baseURL = getDomain();
return config
}, error => Promise.reject(error))
网友评论