vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)


Posted in Javascript onAugust 04, 2017

最近使用vue-cli做了一个小小的项目,在项目中需要使用vue-resource来与后台进行数据交互,所以我使用了本地json数据来模仿后台获取数据的流程。

至于vue-resource的安装和json的准备我就不赘述了、、、

下面是操作方法:

1、首先介绍一下项目的结构:将本地的json文件放在最外层和index.html在一起,姑且叫做data.json。

我的json数据文件大概如此:

{
 "seller": {
   "name": "粥品香坊(回龙观)",
   "description": "蜂鸟专送",
   "bulletin": "会指定餐饮服务商。",
   "avatar": "http://static.galileo.xiaojukeji.com/static/tms/seller_avatar_256px.jpg",
 },
 "goods": [
   {
    "name": "热销榜",
    "type": -1
   },
   {
    "name": "热销榜",
    "type": -1
   }
 ],
 "ratings": [
  {
   "username": "3******c",
   "avatar": "http://static.galileo.xiaojukeji.com/static/tms/default_header.png",
   "recommend": [
    "南瓜粥",
    "皮蛋瘦肉粥"
   ]
  },
  {
   "username": "2******3",
   "avatar": "http://static.galileo.xiaojukeji.com/static/tms/default_header.png",
   "recommend": [
    "扁豆焖面"
   ]
  }
 ]
}

2、接着在build的dev-server.js中进行加入代码:

//模拟服务器返回数据--开始
var appData = require('../data.json');
var seller = appData.seller;
var goods = appData.goods;
var ratings = appData.ratings;

var apiRoutes = express.Router();

apiRoutes.get('/seller', function (req, res) {
 res.json({
  errno: 0,
  data: seller
 });
});

apiRoutes.get('/goods', function (req, res) {
 res.json({
  errno: 0,
  data: goods
 });
});

apiRoutes.get('/ratings', function (req, res) {
 res.json({
  errno: 0,
  data: ratings
 });
});

app.use('/api', apiRoutes);
//模拟服务器返回数据--结束

特别注意:修改好后重新进行cnpm run dev(注意当dev-server.js和db.json改变后都需要进行该步骤)。

解释下以上代码:

1》首先请求根目录下的data.json文件,获取到文件内容并将其赋值给appData变量,然后获取其中的各个字段数据,分别定义变量seller、goods,ratings来赋值。

2》之后,通过express提供的Router对象及其一些方法(这里用的get方法)来设置接口(请求路径)以及请求成功后的回调函数来处理要返回给请求端的数据。(errno这个类似以js请求中的code值)

3》最后,我们要“使用”这个Router对象,为了统一管理api接口,我们在要请求的路由前边都加上‘api/'来表明这个路径是专门用来提供api数据的。在这个“接口”中,当我们访问“http://localhost:8080/api/sites”路径的时候,就会返回db.json里的sites对象给我们。

3、使用resouce获取这些数据,并使用

export default{
 data () {
  return {
   seller: {}
  };
 },
 created () {
  this.$http.get('/api/seller').then((response) => {
   // console.log(response);
   response = response.body;
   const ERR_OK = 0;
   if (response.errno === ERR_OK) {
    let data = response.data;
    console.log(data);
   }
  });
 },
 components: {
  'v-header': header
 }
};

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
一个javascript参数的小问题
Mar 02 Javascript
一个选择最快的服务器转向代码
Apr 27 Javascript
Ruffy javascript 学习笔记
Nov 30 Javascript
使用jquery读取html5 localstorage的值的方法
Jan 04 Javascript
jquery.ui.draggable中文文档(原文翻译)
Nov 15 Javascript
Javascript 运动中Offset的bug解决方案
Dec 24 Javascript
javaScript的函数对象的声明详解
Feb 06 Javascript
jQuery实现标签页效果实战(4)
Feb 08 Javascript
浅谈vue项目打包优化策略
Sep 29 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
Sep 29 Javascript
jQuery实现的简单日历组件定义与用法示例
Dec 24 jQuery
深入解析微信小程序开发中遇到的几个小问题
Jul 11 Javascript
使用jQuery实现鼠标点击左右按钮滑动切换
Aug 04 #jQuery
vue修改vue项目运行端口号的方法
Aug 04 #Javascript
详解Angular2表单-模板驱动的表单(Template-Driven Forms)
Aug 04 #Javascript
微信小程序 本地图片按照屏幕尺寸处理
Aug 04 #Javascript
Javascript实现跨域后台设置拦截的方法详解
Aug 04 #Javascript
微信小程序 五星评分的实现实例
Aug 04 #Javascript
JavaScript中in和hasOwnProperty区别详解
Aug 04 #Javascript
You might like
PHP 批量删除数据的方法分析
2009/10/30 PHP
php ss7.5的数据调用 (笔记)
2010/03/08 PHP
ThinkPHP模版中导入CSS和JS文件的方法
2014/11/29 PHP
php将图片保存入mysql数据库失败的解决方法
2014/12/27 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
2016/10/25 PHP
PHP HTTP 认证实例详解
2016/11/03 PHP
php实现多维数组排序的方法示例
2017/03/23 PHP
PHP 实现从数据库导出到.csv文件方法
2017/07/06 PHP
php之可变函数的实例详解
2017/09/13 PHP
基于jquery编写的横向自适应幻灯片切换特效的实例代码
2013/08/06 Javascript
理解javascript中的回调函数(callback)
2014/09/02 Javascript
JavaScript中数组成员的添加、删除介绍
2014/12/30 Javascript
javascript清空table表格的方法
2015/05/14 Javascript
Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)
2015/08/15 Javascript
jQuery的promise与deferred对象在异步回调中的作用
2016/05/03 Javascript
浅谈JavaScript的全局变量与局部变量
2016/06/10 Javascript
Javascript中级语法快速入手
2016/07/30 Javascript
简单实现node.js图片上传
2016/12/18 Javascript
Vue原理剖析 实现双向绑定MVVM
2017/05/03 Javascript
基于js文件加载优化(详解)
2018/01/03 Javascript
vue.js学习笔记之v-bind和v-on解析
2018/05/03 Javascript
详解vue-flickity的fullScreen功能实现
2020/04/07 Javascript
vue路由分文件拆分管理详解
2020/08/13 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:奇迹哥卡尔秀翻全场
2017/03/28 DOTA
Python微信公众号开发平台
2018/01/25 Python
基于python的Paxos算法实现
2019/07/03 Python
Python使用type关键字创建类步骤详解
2019/07/23 Python
python 上下文管理器及自定义原理解析
2019/11/19 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
国际鲜花速递专家:Floraqueen
2016/11/24 全球购物
Nasty Gal英国:美国女性服饰销售网站
2021/03/02 全球购物
社团成立邀请函
2014/01/08 职场文书
毕业生个人求职自荐信
2014/02/26 职场文书
考察现实表现材料
2014/05/19 职场文书
2016高中社会实践心得体会范文
2016/01/14 职场文书
如何创建一个创建MySQL数据库中的datetime类型
2022/03/21 MySQL