Vue原本有一个官方推荐的ajax插件vue-resource,但从Vue更新到2.0后,官网不再更新vue-resource,目前主流的Vue项目,都选择axios来完成ajax请求。
使用cnpm安装axios
cnpm install axios -S
安装其他插件的时候,可以直接在main.js中引入并Vue.use(),但是axios并不能use,只能每个需要发送请求的组件中即时引入,解决这个问题有两种开发思路:
1.引入axios之后,修改原型链;
2.结合Vuex,封装一个aciton;
第二种思路研究的不是很透彻,在此只写第一种思路。
首先在main.js中引入axios
import axios from 'axios'
这时候如果在其它的组建中,是无法使用axios命令的,但如果将axios改写为Vue的原型属性就能解决
Vue.prototype.$ajax = axios
在main.js中添加了这两行代码之后,就能直接在组件的methods中使用$ajax命令
methods:{
submitForm(){
this.$ajax({
method:'post',
url:'/user',
data:{
name:'JAY',
info:'singer'
}
})
}
}