您好,欢迎访问一九零五行业门户网

mockjs的常用方法分享

本文主要和大家分享mockjs的常用方法,结合文字和代码和大家讲解,希望能帮助到大家。
一.mock.mock()
根据数据模板生成模拟数据。更关键的是,我们发起ajax请求的时候要能够接收到这些数据。这就是mock.mock()的作用啦!
mock.mock( rurl?, rtype?, template|function( options ) )
(1).参数的含义和默认值
参数 rurl:可选。表示需要拦截的 url,可以是 url 字符串或 url 正则。例如 /\/domain\/list.json/、'/domian/list.json'。
参数 rtype:可选。表示需要拦截的 ajax 请求类型。例如 get、post、put、delete 等。
参数 template:可选。表示数据模板,可以是对象或字符串。例如 { 'data|1-10':[{}] }、'@email'。
参数 function(options):可选。表示用于生成响应数据的函数。
参数 options:指向本次请求的 ajax 选项集。
(2).方法
2.mock.mock( template )   根据数据模板生成模拟数据
3.mock.mock( rurl, template )
记录数据模板。当拦截到匹配 rurl 的 ajax 请求时,将根据数据模板 template 生成模拟数据,并作为响应数据返回。
4.mock.mock( rurl, function( options ) )
记录用于生成响应数据的函数。当拦截到匹配 rurl 的 ajax 请求时,函数 function(options) 将被执行,并把执行结果作为响应数据返回。
5.mock.mock( rurl, rtype, template )
记录数据模板。当拦截到匹配 rurl 和 rtype 的 ajax 请求时,将根据数据模板 template 生成模拟数据,并作为响应数据返回。
7.mock.mock( rurl, rtype, function( options ) )
记录用于生成响应数据的函数。当拦截到匹配 rurl 和 rtype 的 ajax 请求时,函数 function(options) 将被执行,并把执行结果作为响应数据返回。
(3).列子
var data8 = mock.mock(/\.json/,"get",{ "name":"@name", "istrue|1":true, "color":"@color" }) mock.mock(/\.json/, 'post', function(options) { return options.type }) $.ajax({ url: 'hello.json', type: 'get', datatype: 'json' }).done(function (data, status, jqxhr) { $('<pre>').text(json.stringify(data, null, 4)) .appendto('body') }) $.ajax({ url: 'hello.json', type: 'post', datatype: 'json' }).done(function (data, status, jqxhr) { $('<pre>').text(json.stringify(data, null, 4)) .appendto('body') })
查看官网列子
二.mock.random
mock.random 是一个工具类,用于生成各种随机数据
(1).基本使用
1.mock.random.boolean() 返回一个随机的布尔值。
2.random.natural() 返回一个随机的自然数(大于等于 0 的整数)
3.random.integer()返回一个随机的整数。
4.random.float()返回一个随机的浮点数。
5.random.character()返回一个随机字符。
6.random.string()返回一个随机字符串
7.random.range( start?, stop, step? )返回一个整型数组。
查看官网
(2).日期+时间
1.日期
random.date() "2002-10-23"
random.date('yyyy-mm-dd') // "1975-04-27"
random.date('yy-mm-dd') // "00-01-08"
2.时间:
random.time() // "05:06:06"
3.日期和时间
random.datetime('yyyy-mm-dd a hh:mm:ss')
4.当前的日期和时间 ranndom.now()
(3).模拟web数据
(4).模拟地理位置数据
(5).颜色+文本+姓氏(名字)
请查看官网
三.mock.valid( template, data )
校验真实数据 data 是否与数据模板 template 匹配。
template 必选。 表示数据模板,可以是对象或字符串。例如 { 'list|1-10':[{}] }、'@email'。
data 必选。 表示真实数据。
eg:
var template = { name: 'value1' } var data = { name: 'value2' } mock.valid(template, data) // => [ { "path": [ "data", "name" ], "type": "value", "actual": "value2", "expected": "value1", "action": "equal to", "message": "[value] expect root.name'value is equal to value1, but is value2" } ]
四.mock.tojsonschema( template )
把 mock.js 风格的数据模板 template 转换成 json schema。
五.mock.setup()
mock.setup( settings ) 配置拦截 ajax 请求时的行为。支持的配置项有:timeout。
参数的含义和默认值
    settings  必选。配置项集合。
    timeout   可选。
     指定被拦截的 ajax 请求的响应时间,单位是毫秒。值可以是正整数,例如 400,表示 400 毫秒 后才会返回响应内容;也可以是横杠 '-' 风格的字符串,例如 '200-600',表示响应时间介于 200 和 600 毫秒之间。默认值是'10-100'。
mock.setup({
    timeout: 400
})
mock.setup({
    timeout: '200-600'
})
目前,接口 mock.setup( settings ) 仅用于配置 ajax 请求,将来可能用于配置 mock 的其他行为。
以上就是mockjs的常用方法分享的详细内容。
其它类似信息

推荐信息