在我们开发过程中存在着前端页面ui完成了,但是没有接口进行联调数据的情况,现在介绍一下用mock.js来完成数据的请求。这样在后期我们的后台接口完成后只需要更改请求的接口名字即可!前提是你的模拟字段名和后台的保持一致。现在来描述一个我在开发中用的方法,目前我认为叫简单的,没有大神们的那么复杂(配置webpack和借助node里面的express来模拟)

  • 下载mockjs包
  • cnpm i mockjs -D
  • 创建一个mock.js文件,在里面引入mockjs
  • let Mock = require('mockjs')
  • 接着开始写接口,这里我就写一个post,一个get接口
  • Mock.mock('http://test/mock.com','post',function(options){
    console.log(options);
    return {"mocktest|4-6":[
    {
    'name': '@cname', // 中文名称
    'id|+1': 88, // 属性值自动加 1,初始值为88
    'age|18-28': 0, // 18至28以内随机整数, 0只是用来确定类型
    'birthday': '@date("yyyy-MM-dd")', // 日期
    'city': '@city(true)', // 中国城市
    'color': '@color', // 16进制颜色
    'isMale|1': true, // 布尔值
    'isFat|1-2': true, // true的概率是1/3
    'brother|1': ['jack', 'jim'], // 随机选取 1 个元素
    'sister|+1': ['jack', 'jim', 'lily'], // array中顺序选取元素作为结果
    'friends|2': ['jack', 'jim'] // 重复2次属性值生成一个新数组
    }
    ]}
    }) Mock.mock('http://test/getmock.com','get',function(options){
    console.log(options);
    return {"mocktest|4-6":[
    {
    'name': '@cname', // 中文名称
    'id|+1': 88, // 属性值自动加 1,初始值为88
    'age|18-28': 0, // 18至28以内随机整数, 0只是用来确定类型
    'birthday': '@date("yyyy-MM-dd")', // 日期
    'city': '@city(true)', // 中国城市
    'color': '@color', // 16进制颜色
    'isMale|1': true, // 布尔值
    'isFat|1-2': true, // true的概率是1/3
    'brother|1': ['jack', 'jim'], // 随机选取 1 个元素
    'sister|+1': ['jack', 'jim', 'lily'], // array中顺序选取元素作为结果
    'friends|2': ['jack', 'jim'] // 重复2次属性值生成一个新数组
    }
    ]}
    }) module.exports = Mock
  • 现在的mock的接口完成,具体的接口数据怎么配置,可以去看详细的mock官方文档,模拟出你需要的接口字段和数据类型 接着需要在main.js文件里面引入你的mock这个文件页面
  • require('./assets/mock')
  • 接着就可以在你的页面使用这个接口来获取对应的数据
  • getMockMoment(){
    this.$http.post('http://test/mock.com',{
    params:{
    start:1,
    end:10
    }
    }).then(res => {
    console.log(res)
    })
    }, getmocklist(){
    this.$http.get('http://test/getmock.com',{
    data:{
    id:3
    }
    }).then(res => {
    console.log(res)
    })
    }
  • 上面的额分别对应着get和post的请求参数的传递,这样助于你自己需要执行对应的增删查改逻辑,在mock接口文件中能够获取到你传入的参数,打印option形参得到结果,参数全部都在body中,接着你可以对应的参数来进行你所需要的逻辑 {url: "http://test/getmock.com", type: "GET", body: "{"id":3}"}

mock.js模拟ajax数据请求的更多相关文章

  1. VueJS搭建简单后台管理系统框架 (二) 模拟Ajax数据请求

    开发过程中,免不了需要前台与后台的交互,大部分的交互都是通过Ajax请求来完成,在服务端未完成开发时,前端需要有一个可以模拟Ajax请求的服务器. 在NodeJs环境下,通过配置express可访问的 ...

  2. vue中使用axios(异步请求)和mock.js 模拟虚假数据

    一.使用axios 1.安装 npm install --save axios 2.引用 import Axios from 'axios' Vue.prototype.Axios = Axios 二 ...

  3. mock.js 劫持 ajax,模拟数据

    http://mockjs.com/ Mock.js 是一款前端开发中拦截Ajax请求再生成随机数据响应的工具.可以用来模拟服务器响应. 优点是非常简单方便, 无侵入性, 基本覆盖常用的接口数据类型. ...

  4. dva框架使用mock.js模拟数据 + fetch请求数据

    what DVA? Dva是基于Redux做了一层封装,对于React的state管理,有很多方案,我选择了轻量.简单的Dva. dva 可以很方便就使用mock.js进行数据的模拟. 只需要三步,即 ...

  5. Vue+Mock.js模拟登录和表格的增删改查

    有三类人不适合此篇文章: "喜欢站在道德制高点的圣母婊" -- 适合去教堂 "无理取闹的键盘侠" -- 国际新闻版块欢迎你去 "有一定基础但又喜欢逼逼 ...

  6. Ajax --- 数据请求

    下面主要介绍(JS原生)数据请求的主要步骤: Ajax 数据请求步骤: 1.创建XMLHttpRequest对象 2.准备数据发送 3.执行发送 4.指定回掉函数 第一步:创建XMLHttpReque ...

  7. ajax数据请求5(php格式)

    ajax数据请求5(php格式): <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...

  8. ajax数据请求4(xml格式)

    ajax数据请求4(xml格式): <!doctype html> <html> <head> <meta charset="utf-8" ...

  9. ajax数据请求3(数组json格式)

    ajax数据请求3(数组json格式) <!doctype html> <html> <head> <meta charset="utf-8&quo ...

随机推荐

  1. 关于option标签的selected属性

    当item的dict_id和custSource一样,那么当前的item的name就被选中并显示在页面 如果直接写selected="selected",就等于直接回显这个集合中最 ...

  2. 事务的ACID属性

    事务,一个操作序列,这些操作要么都执行,要么都不执行,是一个不可分割的整体. ACID为事务的四大属性 原子性(Atomic):指整个数据库事务是不可分割的工作单位.只有使据库中所有的操作执行成功,才 ...

  3. 微博获取原图时重定向到图片的url

    微博获取原图时重定向到图片的url,所以获取的是乱码 jsoup默认是执行重定向的. //根据Url获取页面对应的Document public static Document getDoc1(Str ...

  4. ubuntu通过windows下的ccproxy代理上网

    网上教程很多,需要注意的是将ubuntu的ip和windows的Ip设置到同一个网段,即子网掩码是1的对应的部分要相同.由于没有配置到同一个网段,折腾了我好久.

  5. 测开之路一百四十四:ORM之SQLAlchemy查询

    在上一篇的基础上,插入数据 查询 Department.query.all() # 用表对象查db.session.query(Department).all() # 用db对象查 查询前两条,直接p ...

  6. HTTP学习记录:四、头信息(请求和响应)

    学习资源主要为:@小坦克HTTP相关博客 一.请求头信息(Request Header) 请求头信息包含比较多,如下: 1.Cache头域 if-modified-Since 作用:把浏览器端缓存页面 ...

  7. centos6.5+jdk1.7+mysql5.6+tomcat8.0部署jpress

    前言:此篇记录在linux下搭建环境部署jpress,mysql使用的是源码安装 1.准备 2.安装 3.部署 1.准备 a.准备centos6.5服务器环境 mysql-5.6.19.tar.gz  ...

  8. LeetCode算法题-Shortest Distance to a Character(Java实现)

    这是悦乐书的第321次更新,第343篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第191题(顺位题号是821).给定字符串S和字符C,返回一个整数数组,表示字符串中所有 ...

  9. 精读《Optional chaining》

    1. 引言 备受开发者喜爱的特性 Optional chaining 在 2019.6.5 进入了 stage2,让我们详细读一下草案,了解一下这个特性的用法以及讨论要点. 借着这次精读草案,让我们了 ...

  10. 如何有效的使用google进行搜索的20个技能

    每天有数百万人因为各种各样的原因使用谷歌搜索.学生们把它用于学校,商人们把它用于研究,还有数百万人把它用于娱乐.但大多数人可能没有充分利用谷歌搜索的潜力. 想要更有效地使用谷歌搜索,并得到您想要的搜索 ...