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 相关文章推荐
jquery里的each使用方法详解
Dec 22 Javascript
JS随即打乱数组实现代码
Dec 03 Javascript
JS防止用户多次提交的简单代码
Aug 01 Javascript
JavaScript字符串对象substr方法入门实例(用于截取字符串)
Oct 16 Javascript
详细分析JavaScript变量类型
Jul 08 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
Mar 17 Javascript
vue 文件目录结构详解
Nov 24 Javascript
详解基于vue-cli配置移动端自适应
Jan 13 Javascript
Vue组件Draggable实现拖拽功能
Dec 01 Javascript
JQuery实现ajax请求的示例和注意事项
Dec 10 jQuery
JavaScript实现网页动态生成表格
Nov 25 Javascript
7个你应该知道的JS原生错误类型
Apr 29 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
基于mysql的bbs设计(三)
2006/10/09 PHP
php文档更新介绍
2011/07/22 PHP
改写ThinkPHP的U方法使其路由下分页正常
2014/07/02 PHP
php使用GD库创建图片缩略图的方法
2015/06/10 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
获取Javscript执行函数名称的方法
2006/12/22 Javascript
js 与或运算符 || &amp;&amp; 妙用
2009/12/09 Javascript
Extjs学习笔记之七 布局
2010/01/08 Javascript
jQuery $.get 的妙用 访问本地文本文件
2012/07/12 Javascript
jquery通过a标签删除table中的一行的代码
2013/12/02 Javascript
js中实现字符串和数组的相互转化详解
2016/01/24 Javascript
基于AngularJs + Bootstrap + AngularStrap相结合实现省市区联动代码
2016/05/30 Javascript
JavaScript中this的用法实例分析
2016/12/19 Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
2017/09/18 jQuery
Three.js如何用轨迹球插件(trackball)增加对模型的交互功能详解
2017/09/25 Javascript
[46:14]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第一场 12.11
2020/12/16 DOTA
Python 递归函数详解及实例
2016/12/27 Python
python实现录音小程序
2020/10/26 Python
用Q-learning算法实现自动走迷宫机器人的方法示例
2019/06/03 Python
大家都说好用的Python命令行库click的使用
2019/11/07 Python
Django models filter筛选条件详解
2020/03/16 Python
python实现程序重启和系统重启方式
2020/04/16 Python
python 实现波浪滤镜特效
2020/12/02 Python
2分钟教你实现环形/扇形菜单(基础版)
2020/01/15 HTML / CSS
土耳其家居建材网站:Koçtaş
2016/11/22 全球购物
英国排名第一的在线宠物用品商店:Monster Pet Supplies
2018/05/20 全球购物
IFCHIC台湾:欧美国际设计师品牌
2019/05/18 全球购物
this关键字的作用
2016/01/30 面试题
高中的职业生涯规划书
2013/12/28 职场文书
员工培训邀请函
2014/02/02 职场文书
开展创先争优活动总结
2014/08/28 职场文书
幼儿园中班教师个人工作总结
2015/02/06 职场文书
学术会议通知范文
2015/04/15 职场文书
面试通知单大全
2015/04/20 职场文书
2016年清明节寄语
2015/12/04 职场文书
MySQL 数据 data 基本操作
2022/05/04 MySQL