MOCK.JS 生成随机数据,拦截 Ajax 请求

mock.js 的用处

  • 前后端分离 :让前端攻城师独立于后端进行开发。
  • 增加单元测试的真实性 :通过随机数据,模拟各种场景。
  • 开发无侵入 :不需要修改既有代码,就可以拦截 Ajax 请求,返回模拟的响应数据。
  • 用法简单 :符合直觉的接口。
  • 数据类型丰富 :支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等。
  • 方便扩展 :支持支持扩展更多数据类型,支持自定义函数和正则。

配置模拟数据案例

Mock.mock('http://g.cn', {
    'name'     : '@name',
    'age|1-100': 100,
    'color'    : '@color'
});

发送Ajax请求:

<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script src="http://mockjs.com/dist/mock.js"></script>
<script type="text/javascript" src="data.js"></script>
<script type="text/javascript">
$.ajax({
  url: 'http://g.cn',
  dataType:'json'
  }).done(function(data, status, xhr){
  console.log(
  JSON.stringify(data, null, 4)
  ) 
});
</script>

返回json数据

{
  "name": "William Garcia",
  "age": 74,
  "color": "#f27c79"
}

mock.js 语法

Mock.js 的语法规范包括两部分:

  1. 数据模板定义规范(Data Template Definition,DTD)
  2. 数据占位符定义规范(Data Placeholder Definition,DPD)
数据模板定义规范 DTD

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

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

Mock.Random

方法

Mock.Random 提供的完整方法(占位符)如下:

** Type **** Method**
Basicboolean, natural, integer, float, character, string, range, date, time, datetime, now
Imageimage, dataImage
Colorcolor
Textparagraph, sentence, word, title, cparagraph, csentence, cword, ctitle
Namefirst, last, name, cfirst, clast, cname
Weburl, domain, email, ip, tld
Addressarea, region
Helpercapitalize, upper, lower, pick, shuffle
Miscellaneousguid, id

参考文档

转载于:https://www.cnblogs.com/yldf55/p/5707237.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值