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 text,radio,checkbox,select操作实现代码
Jul 09 Javascript
Javascript倒计时页面跳转实例小结
Sep 11 Javascript
js实现随机抽选效果、随机抽选红色球效果
Jan 13 Javascript
原生JS实现导航下拉菜单效果
Nov 25 Javascript
详解vue-cli中配置sass
Jun 21 Javascript
Vue0.1的过滤代码如何添加到Vue2.0直接使用
Aug 23 Javascript
使用puppeteer破解极验的滑动验证码
Feb 24 Javascript
localstorage实现带过期时间的缓存功能
Jun 28 Javascript
Vue 请求传公共参数的操作
Jul 31 Javascript
浅谈vant组件Picker 选择器选单选问题
Nov 04 Javascript
微信小程序input抖动问题的修复方法
Mar 03 Javascript
node.js如何自定义实现一个EventEmitter
Jul 16 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
动画 《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
PHP print类函数使用总结
2010/06/25 PHP
PHP简单实现HTTP和HTTPS跨域共享session解决办法
2015/05/27 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
2016/01/08 PHP
PHP MVC框架中类的自动加载机制实例分析
2019/09/18 PHP
PHP利用curl发送HTTP请求的实例代码
2020/07/09 PHP
JavaScript 事件记录使用说明
2009/10/20 Javascript
nodejs教程之入门
2014/11/21 NodeJs
高性能JavaScript模板引擎实现原理详解
2015/02/05 Javascript
超实用的JavaScript代码段 附使用方法
2016/05/22 Javascript
javaScript事件机制兼容【详细整理】
2016/07/23 Javascript
js实现控制textarea输入字符串的个数,鼠标按下抬起判断输入字符数
2016/10/25 Javascript
Vue插件写、用详解(附demo)
2017/03/20 Javascript
jQuery+Ajax实现用户名重名实时检测
2017/06/01 jQuery
ES7中利用Await减少回调嵌套的方法详解
2017/11/01 Javascript
vue-cli构建vue项目的步骤详解
2019/01/27 Javascript
详解Vue之父子组件传值
2019/04/01 Javascript
koa2服务端使用jwt进行鉴权及路由权限分发的流程分析
2019/07/22 Javascript
关于layui flow loading占位图的实现方法
2019/09/21 Javascript
[01:01:23]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第一场 11.26
2020/11/30 DOTA
Python进程间通信用法实例
2015/06/04 Python
django1.8使用表单上传文件的实现方法
2016/11/04 Python
python 专题九 Mysql数据库编程基础知识
2017/03/16 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
2020/01/04 Python
Python的pygame安装教程详解
2020/02/10 Python
JBL澳大利亚官方商店:扬声器、耳机和音响系统
2018/05/24 全球购物
总经理的岗位职责
2014/02/23 职场文书
大学班级学风建设方案
2014/05/01 职场文书
旅游与环境专业求职信
2014/06/05 职场文书
工地质量标语
2014/06/12 职场文书
施工员岗位职责范本
2015/04/11 职场文书
供应商食品安全承诺书
2015/04/29 职场文书
新闻稿件写作范文
2015/07/18 职场文书
nginx配置ssl实现https的方法示例
2021/03/31 Servers
关于vue中如何监听数组变化
2021/04/28 Vue.js
Mysql中 unique列插入重复值该怎么解决呢
2021/05/26 MySQL