Vue请求JSON Server服务器数据的实现方法


Posted in Javascript onNovember 02, 2018

由于这里是在之前这篇文章的基础上进行稍加修改完成的,因而其绝大部分代码与上面的是一样的,而其不同之处在于,其请求数据的数据源不是来源于json文件,而是来自于后台的数据。此处的后台服务器中的数据由JSON Server所提供。

注意事项

json的数据结构

这是之前所请求的json数据:

{
 "status":0
,"message":[
 {
 "id":1
 ,"name":"张三"
 }
,{
 "id":2
 ,"name":"李四"
 }
]
}

如果我们直接使用之前所使用的json数据,其在JSON Server中执行下面命令启动服务器:

json-server db.json

在控制台中我们会看到,其是会报错的,其报的错误代码如下:

\{^_^}/ hi!
 Loading db.json
 Done
 Type of "status" (number) in db.json is not supported. Use objects or arrays of objects.

上面的意思是说,在status后面不应该直接跟数字0而是应该跟一个Object对象或者是数组对象。之所以出现这种情况,其主要是因为在JSON Server的json顶级对象中,其是不允许直接跟字符串或数字的,而是应该跟Object对象或者是数组对象。

所以说上面的json数据应该修改如下:

{
 "people": {
 "status": {
 "status": 0
 },
 "message": [
 {
 "id": 1,
 "name": "张三"
 },
 {
 "id": 2,
 "name": "李四"
 }
 ]
 }
}

现在再次执行下面的代码启动服务器:

json-server db.json

其启动后的结果如下:

\{^_^}/ hi!
 Loading db.json
 Done
 Resources
 http://localhost:3000/status
 http://localhost:3000/message
 Home
 http://localhost:3000
 Type s + enter at any time to create a snapshot of the database

我们可以看到,现在JSON Server已经启动成功!

请求的url地址

我们在这里不能直接使用http://localhost:3000的请求地址,然后再获取响应信息后直接点出来,原因如下:

Vue请求JSON Server服务器数据的实现方法

从这里,我们可以看到,我们所获取的实际上返回的是一个页面,我们是不能对页面直接点出来数据然后再操作的。即我们如果在响应结果中使用res.body,其返回的结果为:

Vue请求JSON Server服务器数据的实现方法

此时我们访问的url地址应该为:

http://localhost:3000/people

其响应后的结果为:

Vue请求JSON Server服务器数据的实现方法

从这里我们可以看出,这才是我们所期望得到的结果。

从后台获取vue-resource的数据源

基本上,在上面两点注意事项修改完成后,下面的代码就可以运行了,因而这里就不必再多说了,直接上完整源码:

源码

.html源码

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>vue-router</title>
</head>
<body>
<div id="app">
 <ul>
 <li v-for="item in list">{{item.name}}</li>
 </ul>
</div>
<script src="../../../../js/vue/vue/1.0/vue.js"></script>
<script src="../../../../js/vue/vue-resource/1.2.1/vue-resource.js"></script>
<script type="application/javascript">
 var vm = new Vue({
 el:'#app'
 ,data:{
 list:[]
 }
 ,created(){
 this.getData();
 }
 ,methods:{
 getData(){
 var url = 'http://localhost:3000/people';
 this.$http.get(url).then(function(res){
  var body = res.body;
  if(!body.status){
  alert('请求出错!');
  }
  this.list = body.message;
 });
 }
 }
 });
</script>
</body>
</html>

db.json源码:

{
 "people": {
 "status": {
 "status": 0
 },
 "message": [
 {
 "id": 1,
 "name": "张三"
 },
 {
 "id": 2,
 "name": "李四"
 }
 ]
 }
}

运行结果

Vue请求JSON Server服务器数据的实现方法

总结

以上所述是小编给大家介绍的Vue请求JSON Server服务器数据的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
php对mongodb的扩展(小试牛刀)
Nov 11 Javascript
js写一个弹出层并锁屏效果实现代码
Dec 07 Javascript
基于Jquery实现键盘按键监听
May 11 Javascript
Jquery+asp.net后台数据传到前台js进行解析的方法
May 11 Javascript
setinterval()与clearInterval()JS函数的调用方法
Jan 21 Javascript
浅谈javascript原型链与继承
Jul 13 Javascript
jquery+CSS实现的多级竖向展开树形TRee菜单效果
Aug 24 Javascript
js实现黑色简易的滑动门网页tab选项卡效果
Aug 31 Javascript
获取JS中网页各种高宽与位置的方法总结
Jul 27 Javascript
Web打印解决方案之普通报表打印功能
Aug 29 Javascript
bootstrap IE8 兼容性处理
Mar 22 Javascript
ES6基础之字符串和函数的拓展详解
Aug 22 Javascript
详解使用element-ui table组件的筛选功能的一个小坑
Nov 02 #Javascript
如何使用vuex实现兄弟组件通信
Nov 02 #Javascript
JavaScript 复制对象与Object.assign方法无法实现深复制
Nov 02 #Javascript
vue头部导航动态点击处理方法
Nov 02 #Javascript
angular6 利用 ngContentOutlet 实现组件位置交换(重排)
Nov 02 #Javascript
vue单页面实现当前页面刷新或跳转时提示保存
Nov 02 #Javascript
BootStrap中的模态框(modal,弹出层)功能示例代码
Nov 02 #Javascript
You might like
关于我转生变成史莱姆这档事:第二季PV上线,萌王2021年回归
2020/05/06 日漫
用PHP实现递归循环每一个目录
2010/08/08 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
2015/04/22 PHP
PHP 双链表(SplDoublyLinkedList)简介和使用实例
2015/05/12 PHP
通过Email发送PHP错误的方法
2015/07/20 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
2015/07/31 PHP
实例讲解PHP表单
2020/06/10 PHP
如何在Laravel之外使用illuminate组件详解
2020/09/20 PHP
document.open() 与 document.write()的区别
2007/08/13 Javascript
JSON 入门指南 想了解json的朋友可以看下
2009/08/26 Javascript
js和jquery使按钮失效为不可用状态的方法
2014/01/26 Javascript
js图片闪动特效可以控制间隔时间如几分钟闪动一下
2014/08/12 Javascript
jQuery中[attribute]选择器用法实例
2014/12/31 Javascript
JavaScript实现按键精灵的原理分析
2017/02/21 Javascript
基于javascript的异步编程实例详解
2017/04/10 Javascript
JS表单提交验证、input(type=number) 去三角 刷新验证码
2017/06/21 Javascript
jquery tmpl模板(实例讲解)
2017/09/02 jQuery
Vue项目使用CDN优化首屏加载问题
2018/04/01 Javascript
使用python实现接口的方法
2017/07/07 Python
python爬虫之urllib库常用方法用法总结大全
2018/11/14 Python
Python selenium的基本使用方法分析
2019/12/21 Python
python绘制趋势图的示例
2020/09/17 Python
python 写一个性能测试工具(一)
2020/10/24 Python
非常震撼的纯CSS3人物行走动画
2016/02/24 HTML / CSS
html5 兼容IE6结构的实现代码
2012/05/14 HTML / CSS
用canvas实现图片滤镜效果附演示
2013/11/05 HTML / CSS
迪梵英国官方网站:Darphin英国
2017/12/06 全球购物
Andrew Marc官网:设计师外套的领先制造商
2019/10/30 全球购物
文秘专业应届生求职信范文
2013/11/14 职场文书
架构师岗位职责
2013/11/18 职场文书
一封普通求职者的求职信
2013/11/20 职场文书
质量提升方案
2014/06/16 职场文书
会议欢迎词
2015/01/23 职场文书
幼儿园奖惩制度范本
2015/08/05 职场文书
优秀共产党员事迹材料2016
2016/02/29 职场文书
NASA 机智号火星直升机拍到了毅力号设备碎片
2022/04/29 数码科技