mock.js的真实数据模拟

哈哈,怎么说,这应该是我的第一个随笔了,毕竟前端之路上一直在学习并且各位大神们的经验,虽然也有不少的坑,但是总是收获比较多,所以我也想把一些收获记录下来,有需要的可以参考参考.

网上看了不少大神很多例子很好,但是介绍模糊,看了不知道具体做法,所以我会介绍的详细一点.

今天是主要分享一下mock.js 的插件,我觉得很不哦错,实用性很强,它可以在后端数据没写好的情况下,模拟真实数据,拦截ajax请求并作出迅速的反馈

mock.js官网上有下载,不过注意下载完以后只需要提取一个有用的js文件就行

然后在html的页面导入就好

使用前最好看看官网,官网提供了两种模拟数据用法:DTD和DPD,各有优势,个人感觉DPD容易理解些,当然DTD的用法也需要了解,有的地方用会更方便

接下来是我做的小例子

 1 var data = Mock.mock({
 2                  message: {
 3                       name: ‘@cname‘,
 4                       sex: ‘@string("男女",1)‘,
 5                       birthday: ‘@datetime‘,
 6                       hometown: ‘@county(true)‘,
 7                       age:‘@natural(1,100)‘,
 8                       usepassword: ‘@string(6,10)‘,
 9                       email: ‘@email‘,
10                       boker: ‘@url‘,
11                       ‘phone|1‘: /^1[0-9]{10}$/
12                   }
13              });
14              console.log(data);

以上是一些我们经常要用到的属性,我主要用了DPD的方法,手机号方面貌似没有提供占位符的直接用法,所以用DTD的正则匹配会方便一点

这是在chrome的控制台输出的结果:

接下来就是如何拦截ajax请求并且返回相应的数据,其实很简单不难,在原来的基础上加入请求url

<script type="text/javascript">
            $(function(){
                 Mock.mock(‘http://localhost/manager/Fans.php‘,{
                message: {
                    name: ‘@cname‘,
                    sex: ‘@string("男女",1)‘,
                    birthday: ‘@datetime‘,
                    hometown: ‘@county(true)‘,
                    age:‘@natural(1,100)‘,
                    usepassword: ‘@string(6,10)‘,
                    email: ‘@email‘,
                    boker: ‘@url‘,
                    ‘phone|1‘: /^1[0-9]{10}$/
                }
            });
            $.ajax({
                type:"post",
                url:"http://localhost/manager/Fans.php",
                async:true,
                success:function(data){
//                    console.log(data);
                    var idata=$.parseJSON(data);
                     console.log(idata);
                }
            });
            })
        </script>

其中注意一点,就是回调函数里拿到的数据是字符串,根据我们调用的方便要转成json的格式

转到控制台看一下结果

 嘿嘿,我的分享到此结束,希望大神们多多指导

时间: 2024-10-27 12:43:38

mock.js的真实数据模拟的相关文章

使用RAP2和Mock.JS实现Web API接口的数据模拟和测试

最近一直在思考如何对Web API的其接口数据进行独立开发的问题,随着Web API的越来越广泛应用,很多开发也要求前端后端分离,例如统一的Web API接口后,Winform团队.Web前端团队.微信小程序或者APP团队大家可以同步开发,在最初约定一些接口的输入JSON数据和输出JSON数据,但是随着项目的进度开展,这些数据结构一直有所变化,那么我们模拟的JSON数据格式也需要协同变化,但是很不幸既然大家忙着开发,接口协调的事情肯定优先级没那么高,即使每次记得协调接口数据,也不一定能够完全一致

【mock.js】后端不来过夜半,闲敲mock落灯花 (附Vue + Vuex + mockjs的简单demo)

mock的由来[假] 赵师秀:南宋时期的一位前端工程师 诗词背景:在一个梅雨纷纷的夜晚,正处于项目编码阶段,书童却带来消息:写后端的李秀才在几个时辰前就赶往临安度假去了,!此时手头仅有一个简单的数据接口文档的赵师秀慨叹一声:"好吧,那还是我自己先模拟一下后端的接口吧" _(:3 」∠)_  再后来,就有了那句千古名句啦~~( 为了表示对赵师秀先生的歉意,文末我将附上原文)   如果我说这就是前后端分离思想和mock.js的由来,你会信么?(?´ω`?) mock的由来[真] 我们在Vu

Mock.js的使用

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 17.0px Consolas } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 17.0px Consolas; min-height: 20.0px } span.Apple-tab-span { white-space: pre } MOCK.js 安装及使用 一.mock.js 简介 生产随机数据,拦截ajax请求. 1.前后端分离:让前端工程师独立于

Mock.js开发中拦截Ajax

Mock.js 是一款前端开发中拦截Ajax请求再生成随机数据响应的工具.可以用来模拟服务器响应. 优点是非常简单方便, 无侵入性, 基本覆盖常用的接口数据类型. 在我们的生产实际中,后端的接口往往是较晚才会出来,并且还要写接口文档,于是我们的前端的许多开发都要等到接口给我们才能进行,这样对于我们前端来说显得十分的被动,于是有没有可以制造假数据来模拟后端接口呢,答案是肯定的.应该有人通过编写json文件来模拟后台数据,但是很局限,比如增删改查这些接口怎么实现呢,于是今天我们来介绍一款非常强大的插

前端开发:mock.js的简单应用(生成随机数据,拦截 Ajax 请求)

摘要 在前端开发过程中,后端接口还没有完全开发完成时,前端开发人员就需要学会自己模拟后端接口数据,更快更好的完成开发任务.模拟后端接口数据的js库有很多,今天就简单就简单的分享下mock.js在前端开发的应用(嘿嘿,毕竟这个mock应用的开发人员较多). 内容 1.Mock的安装 根据官方文档安装mock,运行安装命令安装即可. npm install mockjs 2.Mock的简单介绍 2.1.mock数据模板定义 根据官方文档示例介绍,输出一个随机数的‘*’字符串来展示mock的数据模板,

Mock.js使用

Mock.js 是一款前端开发中拦截Ajax请求再生成随机数据响应的工具.可以用来模拟服务器响应. 优点是非常简单方便, 无侵入性, 基本覆盖常用的接口数据类型. 大概记录下使用过程, 详细使用可以参见Mock文档 Mock Wiki 安装 使用npm安装: npm install mockjs; 或直接<script src="http://mockjs.com/dist/mock.js"></script>; 数据模板格式: 'name|rule': val

js验证真实姓名与身份证号

最近的项目中用的需要调用实名认证的接口,实名认证接口价格相比短信而言高了不是几分钱,所以说调用实名认证的条件就要严格把关,因此用到js验证真实姓名与js验证身份证号. 进入正题 js验证真实姓名,是用的unicode字符的来进行匹配,而中国人的姓名长度一般都是2-4,所以重复匹配{2,4}次 1.js验证真实姓名 1 var regName =/^[\u4e00-\u9fa5]{2,4}$/; 2 if(!regName.test(name)){ 3 alert('真实姓名填写有误'); 4 r

mockjax MOCK.js的拦截ajax请求

今天看了下 mock.js的拦截请求 .https://github.com/nuysoft/Mock/blob/master/src/mockjax.js //覆盖(拦截) Ajax 请求,目前内置支持 jQuery.Zepto.KISSY 拦截请求的前提是基于各类库的 内置方法来进行拦截. 比如jquery. 在$.ajax() 之前 会有一个前置过滤器$.ajaxPrefilter() 先进行处理,然后根据参数的不同来分发请求(模拟或者直接发送请求). 在模拟的时候 可以根据给出的参数 返

mock.js使用总结

基本使用: 1 引入mock.js 2 var data = Mock.mock({ // 属性 list 的值是一个数组,其中含有 1 到 10 个元素 'list|1-10': [{ // 属性 id 是一个自增数,起始值为 1,每次增 1 'id|+1': 1 }] }) // ==> { "list": [ { "id": 1 }, { "id": 2 }, { "id": 3 } ] } 语法说明: 见官方文档