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中有关IE版本检测
Jan 04 Javascript
jquery取消选择select下拉框示例代码
Feb 22 Javascript
jQuery获得包含margin的outerWidth和outerHeight的方法
Mar 25 Javascript
JavaScript实现动态添加,删除行的方法实例详解
Jul 02 Javascript
JS如何实现文本框随文本的长度而增长
Jul 30 Javascript
Bootstrap每天必学之面板
Nov 30 Javascript
利用JavaScript判断浏览器类型及版本
Aug 23 Javascript
用js写的一个路由(简单实例)
Sep 24 Javascript
vue上传图片组件编写代码
Jul 26 Javascript
在Uni中使用Vue的EventBus总线机制操作
Jul 31 Javascript
React冒泡和阻止冒泡的应用详解
Aug 18 Javascript
解决vue项目运行提示Warnings while compiling.警告的问题
Sep 18 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的header和asp中的redirect比较
2006/10/09 PHP
建立动态的WML站点(二)
2006/10/09 PHP
简单解决新浪SAE无法上传文件的问题
2015/05/13 PHP
PHP闭包函数详解
2016/02/13 PHP
php socket通信简单实现
2016/11/18 PHP
爆炸式的JS圆形浮动菜单特效代码
2010/03/03 Javascript
JQuery 返回布尔值Is()条件判断方法代码
2012/05/14 Javascript
input输入框的自动匹配(原生代码)
2013/03/19 Javascript
jQuery实现可关闭固定于底(顶)部的工具条菜单效果
2015/11/06 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
2016/02/22 Javascript
详细谈谈javascript的对象
2016/07/31 Javascript
javascript表达式和运算符详解
2017/02/07 Javascript
使用D3.js构建实时图形的示例代码
2018/08/28 Javascript
微信小程序日历/日期选择插件使用方法详解
2018/12/28 Javascript
layui使用数据表格实现购物车功能
2019/07/26 Javascript
swiper4实现移动端导航切换
2020/10/16 Javascript
VSCode launch.json配置详细教程
2020/06/18 Javascript
[07:59]2014DOTA2叨叨刀塔 林熊猫称被邀请赛现场盛况震撼
2014/07/21 DOTA
[29:59]完美世界DOTA2联赛PWL S3 Forest vs access 第二场 12.11
2020/12/13 DOTA
跟老齐学Python之大话题小函数(2)
2014/10/10 Python
详解Django rest_framework实现RESTful API
2018/05/24 Python
Python for循环中的陷阱详解
2018/07/13 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
2019/04/01 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
2019/08/08 Python
Python实现GIF图倒放
2020/07/16 Python
35款精致的 CSS3 和 HTML5 网页模板 推荐
2012/08/03 HTML / CSS
女士和男士时尚鞋在线购物:Shoespie
2019/02/28 全球购物
二年级语文教学反思
2014/02/02 职场文书
医院工作检讨书范文
2014/02/10 职场文书
共产党员承诺书
2014/03/25 职场文书
淘宝客服专员岗位职责
2014/04/11 职场文书
教师师德演讲稿
2014/05/06 职场文书
毕业生的自我鉴定表范文
2019/05/16 职场文书
golang gopm get -g -v 无法获取第三方库的解决方案
2021/05/05 Golang
nginx从安装到配置详细说明(安装,安全配置,防盗链,动静分离,配置 HTTPS,性能优化)
2022/02/12 Servers
python+pyhyper实现识别图片中的车牌号思路详解
2022/12/24 Python