// 安装插件
npm install vue-resource --save
npm install axios --save
get(url, [option]) // 一般用来拿数据
post(url, [body], [option]) // 一般用于提交
vue-resource
this.$http代表vue-resource本身,因为this代表vue实例,而vue-resource已经挂载到vue实例上了
get请求实例
要获得package.json文件,通过发送get请求,在params中定义参数userId,userId会显示在请求的url中
注意在发送get请求时传参一定要在params中定义
请求发送成功后通过.then来捕获,.then接收2个回调,正确的回调和失败的回调,假如获取package1.json文件,如果没有这个文件,就会接收失败的回调,返回的res是一个架构,我们要获取数据的话需要用res.data或res.body
post请求类似于get请求, 原本在parmas中设置的参数改到body即可
也可以通过在this.$http()括号内传入一个对象的方式发送请求
vue-resource全局拦截器
this.vue.$http相当于Vue.http(全局的vue设置拦截器)
可以通过全局拦截器拦截到请求前,响应前的一些处理
还可以把请求的地址http做一个全局的配置,如果不做全局的配置就会在当前的目录下寻找package.json文件,可能会找不到
axios
axios插件并没有挂载到vue实例中,而是直接暴露了一个全局变量
get请求
传参方式和vue-resource一样,但失败的回调通过catch来接收
post请求也基本一致
通过axios函数传入对象的方式发送请求
注意在发送get请求时传参一定要在params中定义
注意在发送post请求时传参一定要在data中定义
axios全局拦截器
分请求前的拦截和响应前的拦截