mock.js使用教程

     相信很多人看过mock.js官方教程, 都比较懵逼,对于前端来说只是在后端没有给接口的时候做一个简单的测试。所以我在这里给大家做简单的一个示范,告诉你如何使用。

cdn引入文件 <script src="http://mockjs.com/dist/mock.js"></script>

示例一:


Mock.mock('http://www.bai.com',{'name|3':'lz','age|20-60':25})
         //url,请求路径。       //请求的数据。 

$.ajax({
    url:'http://www.bai.com',
    dataType:'json',
    success:function(data){
        console.log(data)
    }
})

数据模板

 上面的代码中 

       {'name|3':'lz'}  此为模板数据格式

        属性名name、  生成规则: 重复属性自3次 ,   属性值:lz

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

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

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

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

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

.'name | 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个属性。  

             7-2.'name | min-max': object  从属性值 object 中随机选取 min 到 max 个属性
8.属性值是
数组:var array=['momo','yanzi','ziwei']

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

       8-2.'name|+1': array   从属性值 array 中顺序选取 1 个元素,作为最终值。
       8-3.
'name|count': array   通过重复属性值 array 生成一个新数组,重复次数为 count。
       8-4.
'name|min-max': array   通过重复属性值 array 生成一个新数组,重复次数大于等于 min,小于等于 max

如何实现数据 增 删 改 查 的模拟数据接口

       在此我就列举一个删除的例子

/*模拟删除数据的方式*/
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)
    }
})

详情可参考https://github.com/nuysoft/Mock/wiki/Mock.mock()

猜你喜欢

转载自blog.csdn.net/qq_42205731/article/details/81705350