首页 技术 正文
技术 2022年11月7日
0 收藏 572 点赞 967 浏览 871 个字

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超出了我的意料。

  1. 基于 数据模板 生成模拟数据。
  2. 基于 HTML模板 生成模拟数据。
  3. 拦截并模拟 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
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,944
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,469
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,283
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,099
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,729
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,766