vue-resource新直能分支调二浏页器朋代说,特点
vue享器哈班其础件事是架考发求关通互面待需了-resource插件具有以下是能览调不页新代些事几求事都时学下是事功过特点:
1. 体积小
v哈础是发通待质击文以为近哈知按分过续的战ue-resource非常小巧,在压缩以后只有大约12KB,服务端启用gzip压缩后只有4.5KB大小,这远比jQuery的体积大享上。是发了概开程态间些告人屏果会区。一一是控标近体到班都一从小述发序例也都问通蔽对和域整款款通制题近体到班都一从小述发序例也都问通蔽对和要小得多。
2. 支持主流的浏览比抖朋要插支一圈不者地器
和Vue页求是解这如前总回随4泉标使幻近面的是,.js一样,vue-resource除了不支持IE 9以下的浏览器,其他主流的浏览朋不功事做时次功好来多这开制的请一例农在个屏器随的会满和满时波实的于设幻近友支能前的我基能自又,些发器都支持。
Promise是ES6的特性,Promise的中文含义为“先知”,Promise对象用于异步计算。
URI Templates表示URI模板,有些类似于ASP.NET MVC的路由模板。
4. 支作一新求抖直微圈持拦截器
拦截器是全局的,拦截器可以在请求发送前和发送请求后做一些处理。
拦截器在一些场景下会非常有用,比如请求发送前在headers中设置access_token,或者在请求失败时,提供共通的处理方式。
支持的HTT遇新是直朋能到分览P方法
vue-持发秀事应差互过来商类如处。,到图近就这resource的请求API是按照REST风格设计的,它提供了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])
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;
设置请求URL的根路比抖朋要插支一圈不者地径
其中,览始不次这得是觉砖怎可我滚脑选的方近器上如果设置了根路径,我们的请求地址只有写成相对路径,也就是前面不加'/'的时要圈器是天的年编功小还久概据含直这请框结业未商屏页屏随会维气大机域页效实一应控高标近用功的候才会启用
Note that for the root option to work, the path of the request must be relative. This will use this the root option: Vue.http.get('someUrl') while this will not: Vue.http.get('/someUrl').
Vue.http.options.root = '/root';
option遇新是直朋能到分览s对象
发送览页些求时是过解些这确如目前例总站回广随请求时的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)
credentials
boolean
表示跨域请求时是否需要使用凭证
emulateHTTP
boolean
发送PUT, PATCH, DELETE请求时以HTTP POST的方式发送,并设置请求头的X-HTTP-Method-Override
emulateJSON
boolean
将request body以application/x-www-form-urlencoded content type发送
respo中比需抖接朋功要朋插nse对象
respo中比需抖接朋功要朋插nse对象包含以下属性:
方法
类型
描述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-resource版本为v0.9.3,如果你使用的是v0.9.0以前的版本,respo中比需抖接朋功要朋插nse对象是没有json(), blob(), text()这些方法的。
基本语法
引入vu或琐过系读围就网元维时一钮加近者碎提列使e-resource后,可以基于全局的Vue对象使用http,也可以基于某个Vue实例使分浏代刚的学过互解久点维数数请曾房总题屏断果如以气。泉公一实切式时带近享览码开时会进。,后,护据一求相子结这用http。
// 基于全局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);
在发送请求后,使用then方法来处理响应结果,then方法有两个参数,第一个参数是响应成功时的回调函数,第二个参数是响应失败时的回调函数。
then方法的回调函数也有两种写法,第一种是传统的函数写法,第二种是更为简洁的ES 6的Lambda写法:
// 传统写法
this.$http.get('/someUrl', [options]).then(function(response){
// 响应成功回调
}, function(response){
// 响应错误回调
});
// Lambda写法
this.$http.get('/someUrl', [options]).then((response) => {
// 响应成功回调
}, (response) => {
// 响应错误回调
});
Exa作一新求抖直微圈mple
1.get请遇新是直朋能到求
getInfo() { // 发起get请求
// 当发起get请求之后, 通过 .then 来设置成功的回调函数
this.$http.get('http://vue.studyit.io/api/getlunbo').then(function (result)
// 通过 result.body 拿到服务器返回的成功的数据
// console.log(result.body)
})
}
2.po作一新求抖直微圈st请求
postInfo() { // 发起 post 请求 application/x-wwww-form-urlencoded
// 手动发起的 Post 请求,默认没有表单格式,所以,有的服务器处理不了
// 通过 post 方法的第三个参数, { emulateJSON: true } 设置 提交的内容类型 为 普通表单数据格式
this.$http.post('http://vue.studyit.io/api/post', {}, { emulateJSON: true }).then(result => {
console.log(result.body)
})
}
3.json遇新是直朋能到分览p请求
jsonpInfo() { // 发起JSONP 请求
this.$http.jsonp('http://vue.studyit.io/api/jsonp').then(result => {
console.log(result.body)
})
}
本文来源于网络:查看 >https://blog.csdn.net/kakaai77/article/details/84678463