在rap2(http://rap2.taobao.org/
)中模拟数据
使用规则
示例:
使用rap2模拟的接口
1)可以在http://rap2.taobao.org/api
查看相关rap2的接口知识
2)获取单个接口的数据(JSON)
http://rap2api.taobao.org/app/mock/data/:interfaceId?scope=response|request
其中:interfaceId:主要是红色圈里面的数据
使用mock.js模拟数据
引用mock.js
可以在https://www.bootcdn.cn/
搜索mock.js复制引用
示例:
在html页面上引入:
<script src="https://cdn.bootcdn.net/ajax/libs/Mock.js/1.0.1-beta3/mock-min.js"></script>
使用:
1)Mock.mock( template )。根据数据模板生成模拟数据。
<script>
var test=Mock.mock({
'list|1':[1,2,3,54],
'list1|+1':[1,2,3,54],
'list2|1-3':[1,2,3,54],
'list3|2':[1,2,3,54],
number:12
});
console.log(test);
</script>
2)Mock.mock( rurl, template )。记录数据模板。
当拦截到匹配 rurl 的 Ajax 请求时,将根据数据模板 template 生成模拟数据,并作为响应数据返回。
<script>
Mock.mock('ccc.json',{
'firstName|3':'fei',//重复fei这个字符串 3 次,打印出来就是'feifeifei'。
})
$.ajax({
url:'ccc.json',
dataType:'json',
success:function(e){
console.log(e)
}
})
</script>
3)Mock.mock( rurl, function( options ) )。记录用于生成响应数据的函数。
当拦截到匹配 rurl 的 Ajax 请求时,函数 function(options) 将被执行,并把执行结果作为响应数据返回。
<script>
function cc(){
console.log('ddf')
}
Mock.mock('ddd.json', cc() )
$.ajax({
url:'ddd.json',
dataType:'json',
success:function(e){
console.log(e)
}
})
</script>
4)Mock.mock( rurl, rtype, template )。记录数据模板。
当拦截到匹配 rurl 和 rtype 的 Ajax 请求时,将根据数据模板 template 生成模拟数据,并作为响应数据返回。
<script>
var t=Mock.mock( 'ddd.json', 'post',{
'firstName|3':'fei',//重复fei这个字符串 3 次,打印出来就是'feifeifei'。
'lastName|2-5':'jiang',//重复jiang这个字符串 2-5 次。
})
$.ajax({
url:'ddd.json',
dataType:'json',
method:'post',
success:function(e){
console.log(e)
}
})
</script>
5)Mock.mock( rurl, rtype, function( options ) )。记录用于生成响应数据的函数。
当拦截到匹配 rurl 和 rtype 的 Ajax 请求时,函数 function(options) 将被执行,并把执行结果作为响应数据返回。
<script>
function ff(){
console.log('ddf')
}
var t=Mock.mock( 'ddd.json', 'post',ff())
$.ajax({
url:'ddd.json',
dataType:'json',
method:'post',
success:function(e){
console.log(e)
}
})
</script>
注意:当你使用$.ajax的时候,记得引入jquery.js
自定义实现占位符
如果你想实现一个星座的模拟数据,但是使用规则里面没有,可以自己通过Mock.Random.extend来实现。
<script>
Mock.Random.extend({
constellation: function(date) {
var constellations = ['白羊座', '金牛座', '双子座', '巨蟹座', '狮子座', '处女座', '天秤座', '天蝎座', '射手座', '摩羯座', '水瓶座', '双鱼座']
return this.pick(constellations)
}
})
var aa=Mock.Random.constellation() // => "水瓶座"
var bb=Mock.mock('@CONSTELLATION') // => "天蝎座"
var cc=Mock.mock({
constellation: '@CONSTELLATION'
})
console.log(aa,bb,cc)
</script>