麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

vue插件vue-resource的使用筆記(小結)

2019-11-19 15:54:05
字體:
來源:轉載
供稿:網友

最近手頭有個小項目,打算用vue練個手,期間用到了vue的插件:vue-resource。下面是我使用這個插件的一些經驗,算是給自己寫的一個筆記,分享出來也希望和我遇到同樣坑的朋友可以借此踩坑而過~

在使用這個插件之前,當然是先安裝啦:

npm i vue-resource --save

安裝讀條完畢,接下來便是在項目中引入:

import VueResource from 'vue-resource'Vue.use(VueResource);

如上所述,在入口文件中引入vue-resource即可。然后便是具體的使用了。vue-resource的使用和以前在JQ,ZEPTO等等中使用的$.ajax方式類似,當然,官方也提供了一系列的接口供小伙伴兒們使用,具體在此不做贅述,有興趣的小伙伴兒請移步:

Git傳送門:https://github.com/pagekit/vue-resource/blob/master/README.md

具體的使用方式個中均有詳述。

最后,就是我自己遇到的一個坑,上代碼!(不喜過程的小伙伴兒可以看波代碼,然后直接跳到文章尾看結論。)

<script> export default {  name: 'app',  data () {   return {    articles: []   }  },  created: function() {   this.$http.get('/api/user/order/list',     {       productType:"1",       pageNum:1,       pageLimit:8     },     {      headers:{      },      emulateJSON: true     }   ).then((response) => {    this.articles = response.data.data.list;   }).catch(function(response) {    console.log(response)   });  } }</script>

這個是最初始的代碼,滿心歡喜打包運行之后,發現控制臺報了個錯,說list未定義!WTF!為此我去后臺看了下接口調用的情況,發現之前在調用接口時所傳的參數并沒有傳參成功,后來去網上多方搜查資料,發現把傳參方式修改成如下形式即可:

{ params: {  productType:"1",  pageNum:1,  pageLimit:8 }}

和之前的傳參方式不同,這次我把參數加在了一個名為params的對象中,再次打包后上傳,發現接口調用成功!

在這里,我對params做一個解釋,params表示的是支持上傳多個可變參數,至于為啥加了之后就可以了,我也不是非常清楚,如有大神看到,望不吝賜教OTZ。

OK,既然接口調用成功了,那么數據也應該就如愿以償的可以獲取到了,然而看到頁面上仍是一片空白,懵逼的我瞄了一眼控制臺,發現此時控制臺上報了個錯,說list未定義。WTF!為此我仔細的看了下接口的數據結構,發現這樣賦值并沒有問題,可就是報錯未定義。于是便有了如下猜想:

想法一:response數據返回有誤

針對這個想法,我console了下response,發現response返回正常,此想法被終結。

想法二:既然response返回沒有問題,那問題難道出在data上?

針對這個想法,我console了下response.data,發現response.data返回正常,返回的數據正是我接口中的數據!

驗證完這兩個想法之后,我有點迷糊了,既然data沒有問題,為什么獲取不到內部的數據呢?帶著這個問題,我去GOOGLE了一把,發現vue-resource的GET方法返回的response不僅僅只是單純的數據,而是包含了請求頭信息,數據等等一系列的數據,而vue-response也提供了提取數據的方法:response.json()。感覺抓到救命稻草的我迫不及待的試用的這個方法去獲取數據,結果依舊無法獲取。

想法三:既然response.json()無法獲取,應該有其他的方法可以獲取到。

為此,我又去參考了相應的文檔,發現確實還有一個方法:response.body.data!如蒙大赦,天不亡我!

然。。。依舊失敗。多次的嘗試無果,略有煩躁,恰巧這個時候,同事問了我一個問題,也是接口的數據獲取不到,只不過是用的$.ajax的方法,后來發現是未定義dataType:JSON的問題。說到這兒,醍醐灌頂!是不是一開始,data返回的就不是JSON格式,而是字符串的格式?于是,我在最開始獲取數據的方式外,加了一層JSON.parse:

this.articles = JSON.parse(response.data).data.list;

滿懷期待的看著控制臺,終于,獲取到數據。

結論:綜上所述,在使用vue-resource時,需要留意最終獲取的數據是否為JSON格式,如若不是,需要先進行JSON格式化才可以。vue-resource是否有設置dataType的入口,本人才疏學淺,還未得知,以后如果發現,定會告知。如有大神看到,希望不吝賜教OTZ~

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 91久久国产露脸精品国产 | 国色天香综合网 | 久草视频在线资源 | 国产毛片视频 | 色妞视频男女视频 | 黄色大片免费网站 | 亚洲第一黄色网 | 国产精品亚洲三区 | 国产亚洲精品久久久久久网站 | 午夜a狂野欧美一区二区 | 成人免费视频视频在线观看 免费 | 精品呦女 | 一级免费黄视频 | 成人免费观看49www在线观看 | av在线大全 | 亚洲精品欧美在线 | 国产一区网址 | 国产中出在线观看 | 欧美一级黄色片在线观看 | 草久视频在线观看 | 成人福利免费在线观看 | 久久福利剧场 | 国产三级在线视频观看 | 久久久一区二区三区四区 | 一级做a爱片性色毛片 | 男人的天堂色偷偷 | 成人午夜在线观看视频 | 姑娘第四集免费看视频 | 亚洲精品 在线播放 | 天天都色| 久久久成人精品视频 | 亚洲精久| 日韩黄色片网站 | 国产毛片毛片毛片 | 精品久久久久久久久久久久包黑料 | 日韩精品羞羞答答 | av在线不卡免费 | 好吊色37pao在线观看 | 国产高潮好爽受不了了夜色 | 国产精品亚洲欧美一级在线 | 777sesese|