vue-resource中文文档
Vue可以构建一个不完全依赖后端服务的应用,同时可以与服务端进行数据交互来同步界面的动态更新。
Vue通过XMLHttpRequrest或JSONP技术实现异步加载服务端数据的Vue插件
提供了一版的HTTP请求接口和RESTful框架请求接口(RESTful框架详解:https://www.runoob.com/w3cnote/restful-architecture.html),并提供全局方法和Vue组件实例方法。
文章讲解使用vue-resource 0.7.2
vue-resource公开方法配置
参数配置
分为:
1.全局配置
2.组件实例配置
3.调用配置
这三部分的优化依次增高,优先级高的配置会覆盖优先级低的配置。
全局配置
vue.http.options.root = '/root';
全局配置option属性
全局配置属性组件实例配置
在实例化组件时可以传入http选项进行配置
new Vue({
http: {
root: '/root'
headers: {
Authorization: ''
}
}
})
方法调时配置
在调用vue-resource请求方法时传入选项对象。
new Vue({
ready: {
// get请求
this.$http.get({
url: '',
headers: {
Authorization: ''
}
}).then(() => {
// 请求成功回调
}, () => {
// 请求失败回调
})
}
})
headers配置
通过headers属性来配置请求头。
除了参数配置headers属性可以设置请求外,在vue-resource中也提供了全局默认的headers配置
haeders配置Vue.http.headers键值可以是HTTP方法名,common,custom这三种类型的配置会进行合并,优先级依次是common>custom>HTTP方法名。
其中common对应的请求头会在所有请求中设置,custom对应的请求头在费跨域时设置,HTTP方法名对应的请求头只在请求的method匹配方法名时才会被设置。
基本HTTP调用
基本HTTP调用就是普通的GET,POST等基本HTTP操作,实际上执行增删改查是前后端开发人员共同约定的并非通过HTTP请求方法如GET表示获取数据,PUT代表写入数据,POST代表更新数据。
底层方法和便捷方法执行后返回一个Promise对象,可以使用Promise语法来注册成功,失败回调。
底层方法
全局的Vue.http方法和Vue组件的实例方法this.$http都属于底层方法,他们根据所传入option参数的method属性来判断请求方法的GET还是POST,亦或是其它HTTP的合法请求。
全局调用
Vue.http(option);
组件实例调用
Vue.$http(option)
全局调用和组件实例调用都是接收相同的option参数。都返回Promise对象。不同的是,全局方式回调this指向window,而组件实例调用方式回调指向组件实例。
组件实例方式发送POST请求
new Vue({
ready: function(){
// post请求
this.$http({
url: '',
method: 'post',
// 请求体发送的数据
data: {
cat: 1
},
// 设置请求头
headers: {
'Content-Type': 'x-www-from-urlencoded'
}
}).then(() => {
// 请求成功调用
}, () => {
// 请求失败调用
})
}
})
便捷方法
不同于底层方法 ,便捷方法时对底层方法的封装,在调用是可以省去配置选项option中的method属性。
get(url, [data], [option]);
post(url, [data], [option]);
put(url, [data], [option]);
patch(url, [data], [option]);
delete(url, [data], [option]);
jsonp(url, [data], [option]);
都接受三个参数:
url(字符串),请求地址。可悲options对象中url属性覆盖。
data(可选,字符串或对象),要发送的数据,可被options对象中的data属性覆盖。
options
便捷方法的POST请求
this.$http.post({
'http://example.com',
// 请求体发送数据给服务端
{
name: 'Marting',
age: 28
}, {
headers: {
'Content-Type':'x-www-form-urlencoded'
}
}
}).then(() => {
// 请求成功回调
}, () => {
// 请求失败回调
})
请求选项对象
option对象的各属性以及含义
option属性对照表
网友评论