使用Mock.js生成前端测试数据

 更新时间:2020年12月13日 16:05:18   作者:彭世瑜  
这篇文章主要介绍了使用Mock.js生成前端测试数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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"
        }
    ]
}

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

相关文章

  • JavaScript知识点总结(六)之JavaScript判断变量数据类型

    JavaScript知识点总结(六)之JavaScript判断变量数据类型

    这篇文章主要介绍了JavaScript知识点总结(六)之JavaScript判断变量数据类型的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2016-05-05
  • 详解js创建对象的几种方法及继承

    详解js创建对象的几种方法及继承

    这篇文章主要介绍了js创建对象的几种方法及继承,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • three.js中文文档学习之如何本地运行详解

    three.js中文文档学习之如何本地运行详解

    这篇文章主要给大家介绍了关于three.js中文文档学习之如何在本地运行的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11
  • JavaScript 对象合并的几种方法小结

    JavaScript 对象合并的几种方法小结

    本文主要介绍了JavaScript 对象合并的几种方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • JS实现的图片预览插件与用法示例【不上传图片】

    JS实现的图片预览插件与用法示例【不上传图片】

    这篇文章主要介绍了JS实现的图片预览插件与用法,基于自定义插件uploadPreview.js实现图片的预览功能,不需要进行图片的上传,非常简便实用,需要的朋友可以参考下
    2016-11-11
  • 光标的一些操作总结

    光标的一些操作总结

    IE下的Range操作比Mozilla下强很多,这里只讨论IE下的操作,这里选介绍几个光标定位的特点
    2006-10-10
  • JavaScript常用标签和方法总结

    JavaScript常用标签和方法总结

    JavaScript可以被浏览器直接解释执行,它可以更好得减小服务器压力,提高程序运行效率,下面小编通过本篇文章给大家分享JavaScript常用标签和方法,需要的朋友一起来学习吧
    2015-09-09
  • js下将字符串当函数执行的方法

    js下将字符串当函数执行的方法

    js下将字符串当函数执行的方法,需要的朋友可以参考下。
    2011-07-07
  • JavaScript模板引擎实现原理实例详解

    JavaScript模板引擎实现原理实例详解

    这篇文章主要介绍了JavaScript模板引擎实现原理,结合实例形式详细分析了JavaScript模板引擎原理、定义、使用方法及相关操作注意事项,需要的朋友可以参考下
    2018-12-12
  • 不使用XMLHttpRequest实现异步加载 Iframe和script

    不使用XMLHttpRequest实现异步加载 Iframe和script

    运用Iframe和script可以实现简单的异步加载,没有使用XMLHttpRequest,需要的朋友可以参考下
    2012-10-10

最新评论