mock.js
mock.js
http://mockjs.com/
https://github.com/nuysoft/Mock/wiki
为了完成angularjs的karma测试,看到这个好东东,这货能拦截ajax然后返回模拟数据,在后端接口没完成的情况写,这不是很赞么?
转自: http://www.angularjs.cn/A0I4
概述
首先啦,我不认识mock.js的作者,带着需求找到mock.js让我觉得很惊艳。
相对于其他同类的框架的实现,mock.js超出了我的意料。
- 基于 数据模板 生成模拟数据。
- 基于 HTML模板 生成模拟数据。
- 拦截并模拟 ajax 请求。
是的,mock.js只做上述的几件事,但做的足够出色。
解决的问题
开发时,后端还没完成数据输出,前端只好写静态模拟数据。
数据太长了,将数据写在js文件里,完成后挨个改url。
某些逻辑复杂的代码,加入或去除模拟数据时得小心翼翼。
想要尽可能还原真实的数据,要么编写更多代码,要么手动修改模拟数据。
特殊的格式,例如IP,随机数,图片,地址,需要去收集。
超烂的破网速..
...
以上都不再是问题
接下来体验 拦截ajax请求并返回模拟数据。
步骤1 - 安装
安装太简单,跳过
步骤2 - 配置模拟数据
Mock.mock('http://g.cn', {
'name' : '@name()',
'age|1-100': 100,
'color' : '@color'
});
步骤3 - 发送ajax请求(jquery版)
$.ajax({
url: 'http://g.cn',
}).done(function(data, status, xhr){
console.log(
JSON.stringify(data, null, 4)
)
})
步骤4 - 查看响应的结果
// 结果1
{
"name": "Elizabeth Hall",
"age": 91,
"color": "#0e64ea"
}
// 结果2
{
"name": "Michael Taylor",
"age": 61,
"color": "#081086"
}
// 结果N ..
结尾
演示: mock-demo
演示: mock-angular-demo
mock.js的更多相关文章
- 使用 mock.js 让前端开发与后端独立
直接上代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- 前后端分离开发——模拟数据mock.js
mock.js 生成模拟数据,拦截ajax请求 <script type="text/javascript" src="http://libs.baidu.com/ ...
- Mock.js:前后端分离开发工具
概述 Mock.js实现的功能 基于 数据模板 生成数据 基于 HTML模板 生成数据 拦截并模拟 Ajax请求 用法 浏览器: <!-- (必选)加载 Mock --> <scri ...
- mockjax MOCK.js的拦截ajax请求
今天看了下 mock.js的拦截请求 .https://github.com/nuysoft/Mock/blob/master/src/mockjax.js //覆盖(拦截) Ajax 请求,目前内置 ...
- Mock.js 与 fiddler 前端模拟数据与拦截请求
最近 工作需要 接触了Mock.js. Mock.js 是一款模拟数据生成器,旨在帮助前端攻城师独立于后端进行开发,帮助编写单元测试.提供了以下模拟功能: 根据数据模板生成模拟数据 模拟 Ajax ...
- mock.js 使用教程
mock.js 数据模板 #查看模板生成的数据 var data = Mock.mock({ //list|1-10 数组元素个数随机范围, id|+2 属性值递增, age|20-30数值随机范围 ...
- MOCK.JS 生成随机数据,拦截 Ajax 请求
mock.js 的用处 前后端分离 :让前端攻城师独立于后端进行开发. 增加单元测试的真实性 :通过随机数据,模拟各种场景. 开发无侵入 :不需要修改既有代码,就可以拦截 Ajax 请求,返回模拟的响 ...
- dva框架使用mock.js模拟数据 + fetch请求数据
what DVA? Dva是基于Redux做了一层封装,对于React的state管理,有很多方案,我选择了轻量.简单的Dva. dva 可以很方便就使用mock.js进行数据的模拟. 只需要三步,即 ...
- 【mock.js】后端不来过夜半,闲敲mock落灯花 ——南宋·赵师秀
mock的由来[假] 赵师秀:南宋时期的一位前端工程师 诗词背景:在一个梅雨纷纷的夜晚,正值产品上线的紧张时期,书童却带来消息:写后端的李秀才在几个时辰前就赶往临安度假去了, 赵师秀非常生气 ...
随机推荐
- my links
如何解決MySQL 開動不到的問題 MySQL start fail 10 BEST JQUERY FILE UPLOAD PLUGINS WITH IMAGE PREVIEWS Spring MVC ...
- php js数组问题
<script type="text/javascript"> var a = new Array(); a = "a"; a = "b& ...
- JDBC
<java连接数据库> Class.forName("com.mysql.jdbc.Driver")--1:加载驱动 Connection conn=DriverMan ...
- 【BO】SAP BO相关问题汇总贴
本文将以往写过的关于SAP BO相关问题的帖子汇总了一下,方便寻找 #1 为WEBI报表添加自定义字体font #2 WEBI文件打开时提示Illegal access错误 #3 安装BO服务器时,o ...
- Python for Infomatics 第14章 数据库和SQL应用一(译)
14.1 什么是数据库 数据库一种存储结构数据的文件.绝大多数数据库类似字典——映射键和值的关系.最大的区别是数据库是保存在硬盘或其它永久性的存储上,所以在程序结束后它仍然存在.而保存在内存中的字典容 ...
- T-SQL Recipes之Common Function
在我们写SQL的时候,经常会用到许多内置方法,简化了我们许多代码,也提高了效率,这篇主要总结一些常用的方法. ISNULL VS COALESCE VS NULLIF 在SQL中,NULL值是比较特殊 ...
- PHP_SELF、 SCRIPT_NAME、 REQUEST_URI区别
$_SERVER[PHP_SELF], $_SERVER[SCRIPT_NAME], $_SERVER['REQUEST_URI'] 在用法上是非常相似的,他们返回的都是与当前正在使用的页面地址有关的 ...
- 【ORACLE】IN 后跟&参数字符串的处理方法
今天写尼日利亚BOSS,数据修复脚本时遇到一个问题, 参数字符串无法再IN中使用,例如:想要完成下面的查询 select * From customeren c where c.customercod ...
- 用百度webuploader分片上传大文件
一般在做文件上传的时候,都是通过客户端把要上传的文件上传到服务器,此时上传的文件都在服务器内存,如果上传的是视频等大文件,那么服务器内存就很紧张,而且一般我们都是用flash或者html5做异步上传, ...
- Google Play Store —与google服务器通信时出现问题
机子:MX4 前几天刷完机后出现登录Google Play Store “与google服务器通信时出现问题”,今天试了好几种方法,来总结一下 1.修改最新Hosts文件 2.SmartHosts ...