在目前容近对端手近对端手近对端手近对端手近我们的生产实际中,后端的接口往往是较晚才会出来,并且还要写接口文档,于是我们的前端的许多开发都要等到接口给我们才能进行,这样对于我们前端来说显得十分的被动,于是有没有可以制造假数据来模拟后端接口呢,答案是肯定的。应该有人通过编写json文件来模拟后台数据,但是很局限,比如增删改查这些接口怎么实现呢,于是今天我们来介绍一款非常强大的插件Mock.js,可以非常方便的模拟后端的数据,也可以轻松的实现增删改需有视房有移图带近求点图子等动标的近求点图子等动标的近求点图子等动标的近求点图子等动标的近求点图子等动标的近求点图子等动标的近求点图子等动标的近求点图子等动标的近求点图子等动标的近求点图子等动标的近求点图子等动标的近求点图子等动标的近求点图子等动标的近求点图子等动标的近求点图子等动标的近求点图子等动标的近求点图子等动标的近求点图子等动标的近求点图子等动标的近求点图子等动标的近求点图子等动标的近求点图子等动标的近求点图查这些操作。

1.一个简中比需抖接朋功要朋插单的例子:

Mock.mock('http://123.com',{

'name|3':'fei',//这个定义数据的模板形式下面会介绍

'age|20-30':25,

})

$.ajax({

url:'http://123.com',

dataType:'json',

success:function(e){

console.log(e)

}

})

在这个例子中我们截获地址为http://123.com返回的数据是一个拥有name和age的对象,那么ajax返回的数据就是Mock定义的数据,返回的数据格式如下:

{

name:'feifeifei',

age:26,}

至于上面的大享上。是发了概开程态间些告人屏果会区。定义模板数据的格式是什么意思,下面就给大家介绍微和二第说,班。都年很过过事发工开宗定据发指互数个遍前互就。

2.介绍如中比需抖接朋功要朋插何定义数据

数据模板中的每个属性由 3 部分构成:属性名、生成规则、属性值:

// 属性名 name// 生成规则 rule// 属性值 value

'name|rule': value

1.'name|min-max': string 通过重复 string 生成一个字符串,重复次数大于等于 min,小于等于 max

例子:'lastName|2-5':'jiang', 重复jiang这个字符串 2-5 次

2.'name|count': string 通过重复 string 生成一个字符串,重复次数等于 count

例子:'firstName|3':'fei', 重复fei这个字符串 3 次,打印出来就是'feifeifei'。

3.'name|min-max': number 生成一个大于等于 min、小于等于 max 的整数,属性值 number 只是用来确定类型。

例子:'age|20-30':25, 生成一个大于等于 20、小于等于 30 的整数,属性值 25 只是用来确定类型

4.'name|+1': number 属性值自动加 1,初始值为 number

例子:'big|+1':0, 属性值自动加 1,初始值为 0,以后每次请求在前面的基础上+1

5.'name|min-max.dmin-dmax': number 生成一个浮点数,整数部分大于等于 min、小于等于 max,小数部分保留 dmin 到 dmax 位。

例子:'weight|100-120.2-5':110.24, 生成一个浮点数,整数部分大于等于 100、小于等于 120,小数部分保留 2 到 5 位

6.'name|1': boolean 随机生成一个布尔值,值为 true 的概率是 1/2,值为 false 的概率同样是 1/2

例子:'likeMovie|1':Boolean, 随机生成一个布尔值,值为 true 的概率是 1/2,值为 false 的概率同样是 1/2。

7.属性值是对象:var obj={'host':'www.baidu','port':'12345','node':'selector'}

7-1.'name|count': object 从属性值 object 中随机选取 count 个属性。

例子:'life1|2':obj, 从属性值 obj 中随机选取 2 个属性

7-2.'name|min-max': object 从属性值 object 中随机选取 min 到 max 个属性

例子:'life1|1-2':obj, 从属性值 obj 中随机选取 1 到 2 个属性。

8.属性值是数组:var arr=['momo','yanzi','ziwei']

8-1.'name|1': array 从属性值 array 中随机选取 1 个元素,作为最终值

例子:'friend1|1':arr, 从数组 arr 中随机选取 1 个元素,作为最终值。

8-2.'name|+1': array 从属性值 array 中顺序选取 1 个元素,作为最终值。

例子:'friend2|+1':arr, 从属性值 arr 中顺序选取 1 个元素,作为最终值,第一次就是'momo',第二次请求就是'yanzi'

8-3.'name|count': array 通过重复属性值 array 生成一个新数组,重复次数为 count。

例子:'friend3|2':arr, 重复arr这个数字2次作为这个属性值,得到数据应该是['momo','yanzi','ziwei','momo','yanzi','ziwei']

8-4.'name|min-max': array 通过重复属性值 array 生成一个新数组,重复次数大于等于 min,小于等于 max

例子:'friend3|2-3':arr,//通过重复属性值 arr 生成一个新数组,重复次数大于等于 2,小于等于 3

3.实际的ajax请求例新直能分支调二浏页器朋代说,子:

var arr=['momo','yanzi','ziwei']

var obj={

'host':'www.baidu',

'port':'12345',

'node':'selector'

}

Mock.mock('http://www.bai.com',{

'firstName|3':'fei',//重复fei这个字符串 3 次,打印出来就是'feifeifei'。

'lastName|2-5':'jiang',//重复jiang这个字符串 2-5 次。

'big|+1':0, //属性值自动加 1,初始值为 0

'age|20-30':25,//生成一个大于等于 20、小于等于 30 的整数,属性值 25 只是用来确定类型

'weight|100-120.2-5':110.24,//生成一个浮点数,整数部分大于等于 100、小于等于 120,小数部分保留 2 到 5 位。

'likeMovie|1':Boolean,//随机生成一个布尔值,值为 true 的概率是 1/2,值为 false 的概率同样是 1/2。

'friend1|1':arr,//从数组 arr 中随机选取 1 个元素,作为最终值。

'friend2|+1':arr,//从属性值 arr 中顺序选取 1 个元素,作为最终值

'friend3|2-3':arr,//通过重复属性值 arr 生成一个新数组,重复次数大于等于 2,小于等于 3。

'life1|2':obj,//从属性值 obj 中随机选取 2 个属性

'life1|1-2':obj,//从属性值 obj 中随机选取 1 到 2 个属性。

'regexp1':/^[a-z][A-Z][0-9]$/,//生成的符合正则表达式的字符串

})

$.ajax({

url:'http://www.bai.com',

dataType:'json',

success:function(e){

console.log(e)

}

})

4.览页些求时是过解些这确如目前例总站回广随如何实现数据 增 删 改 查 的是能览调不页新代些事几求事都时学下是事功过发,解模拟数据接口

下用能境战求道,重件开又是正易里是了些之框面我就模拟后端删除功能的接口实求圈分件圈浏第用代是水刚道。的它还现

/*模拟删除数据的方式*/

var arr=[

{name:'fei',age:20,id:1},

{name:'liang',age:30,id:2},

{name:'jun',age:40,id:3},

{name:'ming',age:50,id:4}

]

Mock.mock('http://www.bai.com','delete',function(options){

var id = parseInt(options.body.split("=")[1])//获取删除的id

var index;

for(var i in arr){

if(arr[i].id===id){//在数组arr里找到这个id

index=i

break;

}

}

arr.splice(index,1)//把这个id对应的对象从数组里删除

return arr;//返回这个数组,也就是返回处理后的假数据

})

$.ajax({

url:'http://www.bai.com',

type:"DELETE",

data:{

id:1//假设需要删除id=1的数据

},

dataType:'json',

success:function(e){

console.log(e)

}

})

至于更多的详细文档可以去官方网站查看,http://mockjs.com/,Mock.js简单易学,可以便于前端的快速开发,也可以自己定义好需要的格式,让后端配合你,按照你的格式编写他的后端代码。

本文来源于网络:查看 >https://blog.csdn.net/qq_29132907/article/details/80761175

mock模拟的数据能增删改查吗_Mock.js模拟数据,脱离后端独立开发,实现增删改查功能...相关推荐

  1. vue实现多行数据提交_Vue+Mockjs,模拟接口数据,实现前后端独立开发

    前后端分工协作是一个非常高效的做法,但是有时前后端分离不彻底会很痛苦.前后端应该是异步进行的,进度互不影响,但是在没有mock的时候,前端却严重依赖后端的接口,总会苦苦等待后端接口出来才能继续开发.为 ...

  2. js json对象转字符串_Mock.js模拟数据实现前端独立开发

    在后端接口尚未完成时, 前端开发人员只能请求静态文件的方式来模拟数据, 非常繁琐, 使用mockjs, 我们可以对ajax请求进行拦截, 随机生成各种各样的数据, 包括图片, 非常方便, 由于实在肝不 ...

  3. java中js写假数据_mock.js模拟生成假数据

    mock使用方法很简单, 下面是简单的用法, 详细的用法可以看官方文档, 写的很清楚, 下面的代码直接拷贝到本地html文件, 双击打开即可生成你想要的数据 MockJS-demo var Rando ...

  4. js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题...

    js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题 js模拟form表单提交数据源码: /** * js模拟form表单提交 * @param ...

  5. “安居客“住房系统-基于Python-Django前后端分离开发(二)——基于RESTful架构的数据接口配置以及Redis高速缓存

    "安居客"住房系统-基于Python-Django前后端分离开发(二) 基于Django-Rest-Framework创建接口数据(二) 文章目录 "安居客"住 ...

  6. Vue+Mock.js模拟登录和表格的增删改查

    有三类人不适合此篇文章: "喜欢站在道德制高点的圣母婊" -- 适合去教堂 "无理取闹的键盘侠" -- 国际新闻版块欢迎你去 "有一定基础但又喜欢逼逼 ...

  7. 一篇文章教会你创建vue项目和使用vue.js实现数据增删改查

    简介:一篇文章教会你创建vue项目和使用vue.js实现数据增删改查 [一.项目背景] 在管理员的一些后台页面里,数据列表中都会对这些数据进行增删改查的操作,例如管理员添加商品.修改商品价格.删除商品 ...

  8. Redis概述_使用命令对redis的数据进行增删改查_Jedis连接redis进行数据操作_redis进行数据缓存案例

    学习目标 redis 概念 下载安装 命令操作 1. 数据结构 持久化操作 使用Java客户端操作redis Redis 前言(从百度上抄的, 看看了解一下, 懒得排版了) 1. 概念: redis是 ...

  9. list vue 添加数据方法_一篇文章教会你创建vue项目和使用vue.js实现数据增删改查...

    简介:一篇文章教会你创建vue项目和使用vue.js实现数据增删改查 [一.项目背景] 在管理员的一些后台页面里,数据列表中都会对这些数据进行增删改查的操作,例如管理员添加商品.修改商品价格.删除商品 ...

最新文章

  1. ppt文本框显示缺字,信息显示不全
  2. nexus搭建maven私服
  3. ABAP程序中调用不同类型的函数弹出不同的消息对话框
  4. Eclipse菜单栏 source Refactor详解
  5. java stream中Collectors的用法
  6. php memcache测试,PHP 监控memcache
  7. ON DUPLICATE KEY UPDATE单个增加更新及批量增加更新的sql
  8. postgresql学习笔记一之安装
  9. matlab答案1 8章,MATLAB第1-8章答案
  10. 好消息好消息——带计算机课程的希捷移动硬盘发货啦
  11. 深入linux网络编程(四):使用asio搭建商用服务器
  12. EasyX 窗口如何最大化,以及拖拽调整大小
  13. 聊天室小程序服务端源码(客户端接下一条)
  14. OpenCV Mat类详解和用法
  15. 换掉 Java 8 Java 1718 新特性真香
  16. Leetcode 905 c#
  17. Could not find any downloads that satisfy the requirement tensorflow
  18. 张艾迪(创始人):世界级天才女孩Eidyzhang
  19. Unity3D找不到UI包的处理方法
  20. 如何在webrtc中切换音频输出设备

热门文章

  1. 压力测试的几种常见性解决方案
  2. hive导出数据到本地文件报错解决方法
  3. IDEA——找不到或无法加载主类的一种暴力解决方法
  4. Tomcat网页加载速度过慢的解决方法
  5. Git clone时出现Please make sure you have the correct access rights and the repository exists.问题已解决。
  6. flask from app import db ImportError: cannot import name ‘db’ 的解决方案
  7. Markdown创建页面和目录?
  8. 如何找出R中加载的软件包版本?
  9. 使用pip将Python包安装到不同的目录中?
  10. 在HTML5 localStorage中存储对象