php+mockjs,mockjs的常用方法分享
本文主要和大家分享mockjs的常用方法,結(jié)合文字和代碼和大家講解,希望能幫助到大家。
一.mock.mock()
根據(jù)數(shù)據(jù)模板生成模擬數(shù)據(jù)。更關(guān)鍵的是,我們發(fā)起Ajax請(qǐng)求的時(shí)候要能夠接收到這些數(shù)據(jù)。這就是Mock.mock()的作用啦!
Mock.mock( rurl?, rtype?, template|function( options ) )
(1).參數(shù)的含義和默認(rèn)值
參數(shù) rurl:可選。表示需要攔截的 URL,可以是 URL 字符串或 URL 正則。例如 /\/domain\/list.json/、'/domian/list.json'。
參數(shù) rtype:可選。表示需要攔截的 Ajax 請(qǐng)求類型。例如 GET、POST、PUT、DELETE 等。
參數(shù) template:可選。表示數(shù)據(jù)模板,可以是對(duì)象或字符串。例如 { 'data|1-10':[{}] }、'@EMAIL'。
參數(shù) function(options):可選。表示用于生成響應(yīng)數(shù)據(jù)的函數(shù)。
參數(shù) options:指向本次請(qǐng)求的 Ajax 選項(xiàng)集。
(2).方法
2.Mock.mock( template ) 根據(jù)數(shù)據(jù)模板生成模擬數(shù)據(jù)
3.Mock.mock( rurl, template )
記錄數(shù)據(jù)模板。當(dāng)攔截到匹配 rurl 的 Ajax 請(qǐng)求時(shí),將根據(jù)數(shù)據(jù)模板 template 生成模擬數(shù)據(jù),并作為響應(yīng)數(shù)據(jù)返回。
4.Mock.mock( rurl, function( options ) )
記錄用于生成響應(yīng)數(shù)據(jù)的函數(shù)。當(dāng)攔截到匹配 rurl 的 Ajax 請(qǐng)求時(shí),函數(shù) function(options) 將被執(zhí)行,并把執(zhí)行結(jié)果作為響應(yīng)數(shù)據(jù)返回。
5.Mock.mock( rurl, rtype, template )
記錄數(shù)據(jù)模板。當(dāng)攔截到匹配 rurl 和 rtype 的 Ajax 請(qǐng)求時(shí),將根據(jù)數(shù)據(jù)模板 template 生成模擬數(shù)據(jù),并作為響應(yīng)數(shù)據(jù)返回。
7.Mock.mock( rurl, rtype, function( options ) )
記錄用于生成響應(yīng)數(shù)據(jù)的函數(shù)。當(dāng)攔截到匹配 rurl 和 rtype 的 Ajax 請(qǐng)求時(shí),函數(shù) function(options) 將被執(zhí)行,并把執(zhí)行結(jié)果作為響應(yīng)數(shù)據(jù)返回。
(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) {
$('
').text(JSON.stringify(data, null, 4)).appendTo('body')
})
$.ajax({
url: 'hello.json',
type: 'post',
dataType: 'json'
}).done(function (data, status, jqXHR) {
$('
').text(JSON.stringify(data, null, 4)).appendTo('body')
})
查看官網(wǎng)列子
二.Mock.Random
Mock.Random 是一個(gè)工具類,用于生成各種隨機(jī)數(shù)據(jù)
(1).基本使用
1.Mock.Random.boolean() 返回一個(gè)隨機(jī)的布爾值。
2.Random.natural() 返回一個(gè)隨機(jī)的自然數(shù)(大于等于 0 的整數(shù))
3.Random.integer()返回一個(gè)隨機(jī)的整數(shù)。
4.Random.float()返回一個(gè)隨機(jī)的浮點(diǎn)數(shù)。
5.Random.character()返回一個(gè)隨機(jī)字符。
6.Random.string()返回一個(gè)隨機(jī)字符串
7.Random.range( start?, stop, step? )返回一個(gè)整型數(shù)組。
查看官網(wǎng)
(2).日期+時(shí)間
1.日期
Random.date() "2002-10-23"
Random.date('yyyy-MM-dd') // "1975-04-27"
Random.date('yy-MM-dd') // "00-01-08"
2.時(shí)間:
Random.time() // "05:06:06"
3.日期和時(shí)間
Random.datetime('yyyy-MM-dd A HH:mm:ss')
4.當(dāng)前的日期和時(shí)間 Ranndom.now()
(3).模擬Web數(shù)據(jù)
(4).模擬地理位置數(shù)據(jù)
(5).顏色+文本+姓氏(名字)
請(qǐng)查看官網(wǎng)
三.Mock.valid( template, data )
校驗(yàn)真實(shí)數(shù)據(jù) data 是否與數(shù)據(jù)模板 template 匹配。
template 必選。 表示數(shù)據(jù)模板,可以是對(duì)象或字符串。例如 { 'list|1-10':[{}] }、'@EMAIL'。
data 必選。 表示真實(shí)數(shù)據(jù)。
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 風(fēng)格的數(shù)據(jù)模板 template 轉(zhuǎn)換成 JSON Schema。
五.Mock.setup()
Mock.setup( settings ) 配置攔截 Ajax 請(qǐng)求時(shí)的行為。支持的配置項(xiàng)有:timeout。參數(shù)的含義和默認(rèn)值
settings 必選。配置項(xiàng)集合。
timeout 可選。
指定被攔截的 Ajax 請(qǐng)求的響應(yīng)時(shí)間,單位是毫秒。值可以是正整數(shù),例如 400,表示 400 毫秒 后才會(huì)返回響應(yīng)內(nèi)容;也可以是橫杠 '-' 風(fēng)格的字符串,例如 '200-600',表示響應(yīng)時(shí)間介于 200 和 600 毫秒之間。默認(rèn)值是'10-100'。
Mock.setup({
timeout: 400
})
Mock.setup({
timeout: '200-600'
})
目前,接口 Mock.setup( settings ) 僅用于配置 Ajax 請(qǐng)求,將來可能用于配置 Mock 的其他行為。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的php+mockjs,mockjs的常用方法分享的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 呼市学高铁乘务员学费一年大概多少
- 下一篇: 经济合作社是什么机构