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 相关文章推荐
js 数组操作代码集锦
Apr 28 Javascript
扩展easyui.datagrid,添加数据loading遮罩效果代码
Nov 02 Javascript
js 操作select和option常用代码整理
Dec 13 Javascript
Jquery为单选框checkbox绑定单击click事件
Dec 18 Javascript
Jquery解析Json格式数据过程代码
Oct 17 Javascript
基于JavaScript实现生成名片、链接等二维码
Sep 20 Javascript
js+flash实现的5图变换效果广告代码(附演示与demo源码下载)
Apr 01 Javascript
基于JS实现省市联动效果代码分享
Jun 06 Javascript
jQuery利用sort对DOM元素进行排序操作
Nov 07 Javascript
jQuery读取XML文件的方法示例
Feb 03 Javascript
Vue.js简易安装和快速入门(第二课)
Oct 17 Javascript
element ui分页多选,翻页记忆的实例
Sep 03 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
对盗链说再见...
2006/10/09 PHP
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
2007/08/19 PHP
PHP中构造函数和析构函数解析
2014/10/10 PHP
php实现微信公众号主动推送消息
2015/12/31 PHP
Laravel学习教程之路由模块
2017/08/18 PHP
jquery maxlength使用说明
2011/09/09 Javascript
多个datatable共存造成多个表格的checkbox都被选中
2013/07/11 Javascript
js创建一个input数组并绑定click事件的方法
2014/06/12 Javascript
jquery实现倒计时效果
2015/12/14 Javascript
基于javascript实现根据身份证号码识别性别和年龄
2016/01/22 Javascript
JavaScript表单焦点自动切换代码
2016/07/24 Javascript
自制微信公众号一键排版工具
2016/09/22 Javascript
js日期相关函数dateAdd,dateDiff,dateFormat等介绍
2016/09/24 Javascript
JavaScript数组和对象的复制
2017/03/21 Javascript
JavaScript变量作用域_动力节点Java学院整理
2017/06/27 Javascript
Webpack 服务器端代码打包的示例代码
2017/09/19 Javascript
详解node单线程实现高并发原理与node异步I/O
2017/09/21 Javascript
微信小程序实现带缩略图轮播效果
2018/11/04 Javascript
bootstrap下拉分页样式 带跳转页码
2018/12/29 Javascript
Vue.set 全局操作简单示例
2019/09/19 Javascript
简单介绍Python2.x版本中的cmp()方法的使用
2015/05/20 Python
Python编程中的文件操作攻略
2015/10/16 Python
Python Pandas 如何shuffle(打乱)数据
2019/07/30 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
2019/08/20 Python
Python爬虫实现HTTP网络请求多种实现方式
2020/06/19 Python
如何使用pycharm连接Databricks的步骤详解
2020/09/23 Python
Move Free官方海外旗舰店:美国骨关节健康专业品牌
2017/12/06 全球购物
Berghaus官网:户外服装和设备,防水服
2020/01/17 全球购物
焊接专业毕业生求职信
2013/10/01 职场文书
报关员个人职业生涯规划书
2014/03/12 职场文书
科长竞争上岗演讲稿
2014/05/12 职场文书
2014年效能监察工作总结
2014/11/21 职场文书
幽默导游词开场白
2015/05/29 职场文书
公司档案管理制度
2015/08/05 职场文书
pytorch显存一直变大的解决方案
2021/04/08 Python
Mysql分析设计表主键为何不用uuid
2022/03/31 MySQL