mock模拟ajax,使用Mock.js生成前端测试数据

Mock.js是一个模拟数据生成器,可以让前端独立于后端进行开发。如果你正在开发一个前端页面,可是后台还没有完成供你调用的Api,并且数据格式已经确定,那么你就可以使用Mock.js模拟相关的接口,生成假数据来查看页面效果。Mock.js的功能:生成随机数据,拦截 Ajax 请求。

安装

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"

}

]

}

到此这篇关于使用Mock.js生成前端测试数据的文章就介绍到这了,更多相关Mock.js生成测试数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值