vue-resource使用笔记

本文详细介绍了Vue.js中HTTP请求的基本用法,包括全局及实例内的请求方式、7种请求API及其参数说明、response对象的解析等内容。同时,还讲解了emulateHTTP和emulateJSON的作用,以及如何进行全局配置。
摘要由CSDN通过智能技术生成

基本语法

//基于全局Vue对象使用http
Vue.http.get('/someUrl', [options]).then(successCallback, errorCallback);
Vue.http.post('/someUrl', [body], [options]).then(successCallback, errorCallback);
 
//在一个Vue实例内使用$http
this.$http.get('/someUrl', [options]).then(successCallback, errorCallback);
this.$http.post('/someUrl', [body], [options]).then(successCallback, errorCallback);

 

7种请求API

  • get(url, [options])
  • head(url, [options])
  • delete(url, [options])
  • jsonp(url, [options])
  • post(url, [body], [options])
  • put(url, [body], [options])
  • patch(url, [body], [options])

 

options对象

参数

类型

描述

url

string

请求的 URL

method

string

请求的 HTTP 方法,例如:'GET','POST' 或其他 HTTP 方法

body

Object, FormData string

request body

params

Object

请求的 URL 参数对象

headers

Object

request header

timeout

number

单位为毫秒的请求超时时间 (0 表示无超时时间)

before

function(request)

请求发送前的处理函数,类似于 jQuery 的 beforeSend 函数

progress

function(event)

ProgressEvent 回调处理函数

credentials

boolean

表示跨域请求时是否需要使用凭证(可用于解决 cors 跨域请求没带上 Cookie 的问题

emulateHTTP

boolean

发送 PUT,PATCH,DELETE 请求时以 HTTP POST 的方式发送,并设置请求头的 X-HTTP-Method-Override

emulateJSON

boolean

将 request body 以 content-type 为 application/x-www-form-urlencoded 的方式发送

 

emulateHTTP 的作用

如果Web服务器无法处理 PUT、PATCH 和 DELETE 这种 REST 风格的请求,你可以启用 enulateHTTP 现象。启用该选项后,请求会以普通的 POST 方法发出,并且 HTTP 头信息的 X-HTTP-Method-Override 属性会设置为实际的 HTTP 方法。

Vue.http.options.emulateHTTP = true;

 

emulateJSON的作用

如果 Web 服务器无法处理编码为 application/json 的请求,你可以启用 emulateJSON 选项。启用该选项后,请求会以 application/x-www-form-urlencoded 作为 MIME type,就像普通的 HTML 表单一样。

Vue.http.options.emulateJSON = true;

 

response 对象

方法

类型

描述

text()

string

以 string 形式返回 response body

json()

Object

以 JSON 对象形式返回 response body

blob()

Blob

以二进制形式返回 response body

属性

类型

描述

ok

boolean

响应的 HTTP 状态码在 200~299 之间时,该属性为 true

status

number

响应的 HTTP 状态码

statusText

string

响应的状态文本

headers

Object

响应头

 

全局配置

Vue.http.options.emulateHTTP = true;
Vue.http.options.emulateJSON = true;

Vue.http.interceptors.push(function (request, next) { // ... // 请求发送前的处理逻辑 // ... next(function (response) { // ... // 请求发送后的处理逻辑 // ... // 根据请求的状态,response 参数会返回给 successCallback 或 errorCallback return response; }); });

上面的配置会对所有请求生效

 

 

转载于:https://www.cnblogs.com/czf-zone/p/8383845.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值