最近手头有个小项目,打算用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~
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# vue
# resource插件使用
# vueresource插件
# resource使用
# Vue添加请求拦截器及vue-resource 拦截器使用
# vue resource post请求时遇到的坑
# vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
# Vue2.0利用vue-resource上传文件到七牛的实例代码
# Vue resource中的GET与POST请求的实例代码
# 详解vue前后台数据交互vue-resource文档
# vue-resource 拦截器(interceptor)的使用详解
# Vue中的vue-resource示例详解
# 看了
# 不吝赐教
# 如有
# 我去
# 大神
# 报了
# 使用这个
# 的是
# 我也
# 看着
# 上传
# 在这里
# 我在
# 才疏学浅
# 带着
# 有个
# 多个
# 在此
# 醍醐灌顶
# 和我
相关文章:
免费制作小说封面的网站有哪些,怎么接网站批量的封面单?
网站制作价目表怎么做,珍爱网婚介费用多少?
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
如何确保西部建站助手FTP传输的安全性?
活动邀请函制作网站有哪些,活动邀请函文案?
Python lxml的etree和ElementTree有什么区别
如何通过NAT技术实现内网高效建站?
高防服务器租用指南:配置选择与快速部署攻略
如何选择可靠的免备案建站服务器?
制作网站的过程怎么写,用凡科建站如何制作自己的网站?
教程网站设计制作软件,怎么创建自己的一个网站?
青浦网站制作公司有哪些,苹果官网发货地是哪里?
如何通过WDCP绑定主域名及创建子域名站点?
如何获取开源自助建站系统免费下载链接?
建站之星如何优化SEO以实现高效排名?
Swift中swift中的switch 语句
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
模具网站制作流程,如何找模具客户?
网站制作难吗安全吗,做一个网站需要多久时间?
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
广州营销型建站服务商推荐:技术优势与SEO优化解析
定制建站策划方案_专业建站与网站建设方案一站式指南
营销式网站制作方案,销售哪个网站招聘效果最好?
建站主机选哪种环境更利于SEO优化?
宝塔建站教程:一键部署配置流程与SEO优化实战指南
实现虚拟支付需哪些建站技术支撑?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
东莞专业制作网站的公司,东莞大学生网的网址是什么?
魔方云NAT建站如何实现端口转发?
黑客入侵网站服务器的常见手法有哪些?
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
专业网站制作服务公司,有哪些网站可以免费发布招聘信息?
中山网站制作网页,中山新生登记系统登记流程?
建站之星如何助力网站排名飙升?揭秘高效技巧
建站之星备案是否影响网站上线时间?
网站设计制作企业有哪些,抖音官网主页怎么设置?
定制建站是什么?如何实现个性化需求?
Android自定义listview布局实现上拉加载下拉刷新功能
ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?
网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?
建站VPS推荐:2025年高性能服务器配置指南
高防服务器如何保障网站安全无虞?
如何用花生壳三步快速搭建专属网站?
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
C++时间戳转换成日期时间的步骤和示例代码
专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
中山网站推广排名,中山信息港登录入口?
*请认真填写需求信息,我们会在24小时内与您取得联系。