使用vue-resource庫發(fā)送請求獲取數(shù)據(jù)

數(shù)據(jù)獲取 vue-resource

單來說,vue-resource就像jQuery里的$.ajax,用來和后端交互數(shù)據(jù)的??梢苑旁赾reated或者ready里面運(yùn)行來獲取或者更新數(shù)據(jù)...

vue-resource特點(diǎn)

vue-resource插件具有以下特點(diǎn):

  1. 體積小
    vue-resource非常小巧,在壓縮以后只有大約12KB,服務(wù)端啟用gzip壓縮后只有4.5KB大小,這遠(yuǎn)比jQuery的體積要小得多。
  2. 支持主流的瀏覽器
    和Vue.js一樣,vue-resource除了不支持IE 9以下的瀏覽器,其他主流的瀏覽器都支持。
  3. 支持Promise API和URI Templates
    Promise是ES6的特性,Promise的中文含義為“先知”,Promise對象用于異步計(jì)算。URI Templates表示URI模板,有些類似于ASP.NET MVC的路由模板。
  4. 支持?jǐn)r截器
    攔截器是全局的,攔截器可以在請求發(fā)送前和發(fā)送請求后做一些處理。攔截器在一些場景下會非常有用,比如請求發(fā)送前在headers中設(shè)置access_token,或者在請求失敗時(shí),提供共通的處理方式。

vue-resource使用

1.引入vue-resource

<script src="js/vue.js"></script>
<script src="js/vue-resource.js"></script>

基本語法

  • 引入vue-resource后,可以基于全局的Vue對象使用http,也可以基于某個Vue實(shí)例使用http。

// 基于全局Vue對象使用http
Vue.http.get('/someUrl', [options]).then(successCallback, errorCallback);
Vue.http.post('/someUrl', [body], [options]).then(successCallback, errorCallback);
// 在一個Vue實(shí)例內(nèi)使用$http
this.$http.get('/someUrl', [options]).then(successCallback, errorCallback);
this.$http.post('/someUrl', [body], [options]).then(successCallback, errorCallback);

在發(fā)送請求后,使用then方法來處理響應(yīng)結(jié)果,then方法有兩個參數(shù),第一個參數(shù)是響應(yīng)成功時(shí)的回調(diào)函數(shù),第二個參數(shù)是響應(yīng)失敗時(shí)的回調(diào)函數(shù)。

GET

  • 說明:發(fā)送JSONP的方式與get請求相同
const url = 'http://vue.studyit.io/api/getnewslist'
this.$http.get(url)
  .then(data => {
    console.log(data)
    console.log(data.body)
  })

POST

// const url = 'http://182.254.146.100:8899/api/postcomment/17'
const url = 'http://vue.studyit.io/api/postcomment/17'
this.$http.post(url, {
  content: '完美!'
}, {
  emulateJSON: true
})
  .then(data => {
    console.log(data.body);
  })

JSONP

const url = 'http://v.showji.com/Locating/showji.com2016234999234.aspx?m=13333333333&output=json&&timestamp=' + (new Date() - 0)
this.$http.jsonp(url)
  .then(data => {
    console.log(data.body);
  })
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,628評論 19 139
  • 由于公司前端人員短缺,這周我和濤哥就來填這個坑了,前端使用的js框架是Vue+Vue-resource+Vue-v...
    郭之源閱讀 50,461評論 9 57
  • vue-resource特點(diǎn): 體積小vue-resource非常小巧,在壓縮以后只有大約12KB,服務(wù)端啟用gz...
    寒梁沐月閱讀 1,103評論 0 7
  • vue-resource的應(yīng)用 最近在了解資源的相關(guān)加載方式,主要是基于http協(xié)議下的資源請求,之前由于用了vu...
    小a草閱讀 1,864評論 0 7
  • 1 “零點(diǎn)的時(shí)候,我一直在等你的消息” 我給我遠(yuǎn)方的好哥們發(fā)了生日祝福,他是這么回我的。 “不知道為什么,感覺上了...
    丁太陽閱讀 307評論 0 0

友情鏈接更多精彩內(nèi)容