美文网首页
mock模拟ajax请求

mock模拟ajax请求

作者: 易冷zzz | 来源:发表于2018-09-16 22:38 被阅读170次

Mock.js 是一款模拟数据生成器,旨在帮助前端攻城师独立于后端进行开发,帮助编写单元测试。提供了以下模拟功能:

1.根据数据模板生成模拟数据
2.模拟 Ajax 请求,生成并返回模拟数据
3.基于 HTML 模板生成模拟数据
无意间发现mock很好用,可以在前端完全模拟后端的数据,使前端的工作可以独立于后端进行,尤其是在前后端分离的今天更是不可或缺的。故写了一个简单的demo以便记录mock的学习。

mock知识点介绍:

Mock.mock()
1.Mock.mock(template)
根据数据模板生成模拟数据。
2.Mock.mock(rurl, template)
记录数据模板,当拦截到匹配的 Ajax 请求时,生成并返回模拟数据。
参数的含义和默认值如下所示:
参数 rurl:可选。表示需要拦截的 URL,可以是 URL 字符串或 URL 正则。例如 //domain/list.json/、'/domian/list.json'。
参数 template:必须。表示数据模板,可以是对象或字符串。例如 { 'data|1-10':[{}] }、'@EMAIL'。
数据模板中的每个属性由 3 部分构成,以 'data|1-10':[{}] 为例:
属性名:例如 data。
参数:指示生成数据的规则。例如 |1-10,指示生成的数组中含有 1 至 10 个元素。
属性值:表示初始值、占位符、类型。例如 [{}],表示属性值一个数组,数组中的元素是 {}。属性值中含有占位符时,将被替换为对应的随机数据,例如 'email': '@EMAIL','@EMAIL'将被替换为随机生成的邮件地址。

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>

    <body>
        <div>
            <button type="button">點擊查看控制台</button>
        </div>
        <script src="http://cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script>
        <script src="http://mockjs.com/dist/mock.js"></script>
        <script type="text/javascript">
            //调用mock方法模拟数据
            let template = {
                "userName": '@name', //模拟名称
                "age|1-100": 100, //模拟年龄(1-100)
                "color": "@color", //模拟色值
                "date": "@date('yyyy-MM-dd')", //模拟时间
                "url": "@url()", //模拟url
                "content": "@cparagraph()" //模拟文本
            };
            //拦截所有的.json类型的ajax请求
            let result = Mock.mock(/\.json/, template);

            //ajax请求
            $("button").on("click", function() {
                console.log(result )
                $.ajax({
                    url: "abczzzz.json", //请求的url地址(只需要包含.json)
                    dataType: "json", //返回格式为json
                    async: true, //请求是否异步,默认为异步,这也是ajax重要特性
                    data: {}, //参数值
                    type: "GET", //请求方式
                    beforeSend: function() {},
                    success: function(req) {
                        console.log(req);
                    },
                    complete: function() {},
                    error: function() {}
                });
            });
        </script>
    </body>

</html>

相关文章

  • mock模拟ajax请求

    Mock.js 是一款模拟数据生成器,旨在帮助前端攻城师独立于后端进行开发,帮助编写单元测试。提供了以下模拟功能:...

  • Vue实战第四天

    Mock.js模拟ajax数据请求在实际开发工作中,后台接口没有那么快的开发速度的时候,可以采用mock进行模拟数...

  • Vue mock数据

    使用Mock模拟Ajax请求 安装mockjs进入项目文件夹,执行命令npm install mockjs --s...

  • 2018-12-06 mock.js的使用

    目的 mock.js能够拦截Ajax请求,生成模拟数据进行接口调试,模拟了前后端调试的环境,使得前端开发能够独立于...

  • Mockjs ( 模拟数据 ) 快速入门

    mockjs 根据规则生成随机数据, 通过拦截ajax 请求实现 模拟前端数据接口 安装 主要模块 mock根据数...

  • 使用 mock.js 让前端开发与后端独立

    Mock.js实现的功能。 基于数据模板生成数据。 基于HTML模板生成数据。 拦截并模拟Ajax请求。 本文仅演...

  • Mock.js新手教程

    1.什么是Mock.js? 生成随机数据,拦截 Ajax 请求。 通过随机数据,模拟各种场景;不需要修改既有代码,...

  • Vue 的 mock.js初体验

    1.什么是Mock.js? 生成随机数据,拦截 Ajax 请求。 通过随机数据,模拟各种场景;不需要修改既有代码,...

  • element七 mock.js axios

    Mock.js作用:生成随机数据,拦截ajax请求安装:cnpm install mockjs核心:Mock.mo...

  • vue/ajax使用mock

    1.通过jQuery ajax请求mock例子 1. 首先,引入mockjs,引入jQuery 2.使用mock生...

网友评论

      本文标题:mock模拟ajax请求

      本文链接:https://www.haomeiwen.com/subject/culqnftx.html