Mock.js是一个模拟数据生成器,可以让前端独立于后端进行开发。如果你正在开发一个前端页面,可是后台还没有完成供你调用的Api,并且数据格式已经确定,那么你就可以使用Mock.js模拟相关的接口,生成假数据来查看页面效果。Mock.js的功能:生成随机数据,拦截 Ajax 请求。
参考文档:https://github.com/nuysoft/Mock/wiki/Getting-Started
语法规范:https://github.com/nuysoft/Mock/wiki/Syntax-Specification
安装
npm install mockjs
创建模拟Api,拦截Ajax请求,返回测试数据
//模拟后台 Mock.mock('http://api.com', { "user|5-10": [{ 'name': '@cname', //中文名称 'age|1-100': 100, //100以内随机整数 'birthday': '@date("yyyy-MM-dd")', //日期 'city': '@city(true)' //中国城市 }] });
发送ajax请求
//JQuery方式 $.ajax({ url: 'http://api.com', dataType: 'json' }).done(function(data, status, xhr) { console.log( JSON.stringify(data, null, 4) ) }); //原生ajax方式 function myajax(url) { if (window.XMLHttpRequest) { ajax = new XMLHttpRequest(); } else if (window.ActiveXObject) { try { ajax = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { ajax = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!ajax) { window.alert("不能创建XMLHttpRequest对象实例."); return false; } ajax.open("GET", url, true); ajax.send(null); ajax.onreadystatechange = function() { if (ajax.readyState == 4 && ajax.status == 200) { console.log(ajax.responseText); } } } myajax('http://api.com');
查看响应
{ "user": [ { "name": "锺丽", "age": 17, "birthday": "1983-11-01", "city": "内蒙古自治区 赤峰市" }, { "name": "陈艳", "age": 25, "birthday": "1973-07-10", "city": "河南省 驻马店市" }, { "name": "冯霞", "age": 59, "birthday": "2010-10-28", "city": "澳门特别行政区 离岛" }, { "name": "贾秀英", "age": 63, "birthday": "1973-01-22", "city": "新疆维吾尔自治区 伊犁哈萨克自治州" }, { "name": "周勇", "age": 34, "birthday": "1985-05-21", "city": "湖南省 衡阳市" } ] }
示例
// 使用 Mock var Mock = require('mockjs') /** * * 数据模板 * 属性名|生成规则: 属性值 */ var data = Mock.mock({ // 属性 list 的值是一个数组,其中含有 1 到 10 个元素 'list|1-10': [{ // 属性 id 是一个自增数,起始值为 1,每次增 1 'id|+1': 1, 'name': '@FIRST' }] }) // 输出结果 console.log(JSON.stringify(data, null, 4))
运行结果
{
"list": [
{
"id": 1,
"name": "Larry"
},
{
"id": 2,
"name": "Edward"
},
{
"id": 3,
"name": "Jessica"
},
{
"id": 4,
"name": "William"
},
{
"id": 5,
"name": "Christopher"
},
{
"id": 6,
"name": "Michael"
},
{
"id": 7,
"name": "Susan"
},
{
"id": 8,
"name": "Shirley"
},
{
"id": 9,
"name": "Angela"
},
{
"id": 10,
"name": "George"
}
]
}
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?