我们知道,vue2.0以后,vue就不再对vue-resource进行更新,而是推荐axios,而大型项目都会使用 Vuex 来管理数据,所以这篇博客将结合两者来发送请求
1.安装axios
cnpm i axios -S
2.方案一:修改原型链
首先,在main.js中引入
![](https://images2017.cnblogs.com/blog/1222887/201709/1222887-20170926130951964-679709712.png)
![](file:///C:/Users/ADMINI~1/AppData/Local/Temp/enhtmlclip/1222887-20170926130951964-679709712.png)
在这个时候,你还是无法在组件中使用axios的,但如果将vue改为vue的原型链,就可以解决这个问题,如下图
![](https://images2017.cnblogs.com/blog/1222887/201709/1222887-20170926131358542-2145688957.png)
![](file:///C:/Users/ADMINI~1/AppData/Local/Temp/enhtmlclip/1222887-20170926131358542-2145688957.png)
3.开始发送请求
![](https://images2017.cnblogs.com/blog/1222887/201709/1222887-20170926132606604-1903470469.png)
![](file:///C:/Users/ADMINI~1/AppData/Local/Temp/enhtmlclip/1222887-20170926132606604-1903470469.png)
![](https://images2017.cnblogs.com/blog/1222887/201709/1222887-20170926132724323-1344265816.png)
![](file:///C:/Users/ADMINI~1/AppData/Local/Temp/enhtmlclip/1222887-20170926132724323-1344265816.png)
5.带参数的请求
如果想要发送带json格式参数的请求,则需要使用qs模块来处理参数
首先在main.js中导入qs模块
![](https://images2017.cnblogs.com/blog/1222887/201709/1222887-20170926141602620-759498173.png)
![](file:///C:/Users/ADMINI~1/AppData/Local/Temp/enhtmlclip/1222887-20170926141602620-759498173.png)
然后使用qs处理参数
![](https://images2017.cnblogs.com/blog/1222887/201709/1222887-20170926142455401-1185932109.png)
![](file:///C:/Users/ADMINI~1/AppData/Local/Temp/enhtmlclip/1222887-20170926142455401-1185932109.png)
最终返回结果如下
![](https://images2017.cnblogs.com/blog/1222887/201709/1222887-20170926142700448-971707793.png)
![](file:///C:/Users/ADMINI~1/AppData/Local/Temp/enhtmlclip/1222887-20170926142700448-971707793.png)
6.回调函数的简写
![](https://images2017.cnblogs.com/blog/1222887/201709/1222887-20170926145403698-566459896.png)
![](file:///C:/Users/ADMINI~1/AppData/Local/Temp/enhtmlclip/1222887-20170926145403698-566459896.png)
7.注意
如果在vue中使用,那么vue中data中的数据无法通过this直接引用,需要做如下处理
![](https://images2017.cnblogs.com/blog/1222887/201709/1222887-20170928104728903-1862954660.png)
![](file:///C:/Users/ADMINI~1/AppData/Local/Temp/enhtmlclip/1222887-20170928104728903-1862954660.png)