vue http get html模板,原 Vue基础系列:vue-resource中的http请求

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值