1.引入vue-resource
<script src="./lib/vue-2.4.0.js"></script>
<script src="./lib/vue-resource-1.3.4.js"></script>
注意:vue-resource依赖于 Vue,所以vue-resource
一定要在Vue的后面。
方法列表:
get(url, [options])
head(url, [options])
delete(url, [options])
jsonp(url, [options])
post(url, [body], [options])
put(url, [body], [options])
patch(url, [body], [options])
选项:
参数 | 类型 | 描述 |
---|---|---|
url | string | 请求的目标URL |
body | Object, FormData, string | 作为请求体发送的数据 |
headers | Object | 作为请求头部发送的头部对象 |
params | Object | 作为URL参数的参数对象 |
method | string | HTTP方法 (例如GET,POST,...) |
timeout | number | 请求超时(单位:毫秒) (0表示永不超时) |
before | function(request) | 在请求发送之前修改请求的回调函数 |
progress | function(event) | 用于处理上传进度的回调函数 ProgressEvent |
credentials | boolean | 是否需要出示用于跨站点请求的凭据 |
emulateHTTP | boolean | 是否需要通过设置X-HTTP-Method-Override头部并且以传统POST方式发送PUT,PATCH和DELETE请求。 |
emulateJSON | boolean | 设置请求体的类型为application/x-www-form-urlencoded |
响应:
通过如下属性和方法处理一个请求获取到的响应对象:
属性 | 类型 | 描述 |
---|---|---|
url | string | 响应的URL源 |
body | Object, Blob, string | 响应体数据 |
headers | Header | 请求头部对象 |
ok | boolean | 当HTTP响应码为200到299之间的数值时该值为true |
status | number | HTTP响应吗 |
statusText | string | HTTP响应状态 |
方法 | 类型 | 描述 |
---|---|---|
text() | 约定值 | 以字符串方式返回响应体 |
json() | 约定值 | 以格式化后的json对象方式返回响应体 |
blob() | 约定值 | 以二进制Blob对象方式返回响应体 |
例子:
get请求:
this.$http.get('/get').then(function (result) {
// 通过 result.body 拿到服务器返回的成功的数据
// console.log(result.body)
})
post请求:
this.$http.post('/post', {}, { emulateJSON: true }).then(result => {
console.log(result.body)
})
注意:通过 post 方法的第三个参数, { emulateJSON: true } 设置 提交的内容类型 为 普通表单数据格式
JSON请求
this.$http.jsonp('/jsonp').then(result => {
console.log(result.body)
})