前言:
此刻你们对“mock拦截请求原理”大概比较珍视,兄弟们都想要学习一些“mock拦截请求原理”的相关内容。那么小编也在网摘上收集了一些对于“mock拦截请求原理””的相关知识,希望朋友们能喜欢,各位老铁们一起来学习一下吧!官方资料
官网:
代码:
文档:
为什么使用Mock.js
Mock.js 是用于生成随机数据的,拦截 Ajax 请求。通过拦截 Ajax 请求,根据数据模板生成并返回模拟数据,让前端工程师独立于后端进行开发。
Mock.js 原理
重写了XMLHttpRequest,属于前端JS拦截,浏览器并没有发出请求,Mock.js实现拦截,是模拟了XMLHttpRequest对象。重写open、send等方法,方法调用时,只是普通函数的调用,不会发送真正的请求。ajax请求发生时,请求根本没有发出,只是调用了几个自己写的普通函数,得到了返回数据而已。
不存在跨域问题,因为运行在浏览器上,浏览器并没有发出请求,不会违背浏览器的跨域策略,跨域指的是浏览器不能执行其他网站的脚本,它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。
正式版本请删除Mock.js。
Mock.js使用
首先安装
npm install mockjs --save / yarn add mockjs --save
使用mockjs模拟数据并开发接口
//新建一个mockApi.js模块 来保存我们模拟的接口var Mock = require('mockjs') // 导入mockjs// 模拟一个列表数据var arr = Mock.mock({ "list|4-10": [ // 生成一个 length是 4~10之间的数组 { "name": "@first", // @first用来生成名字 "age|12-50": 12, // 生成一个 12-50之间的整数 "id|+1": 1 // 生成的id每次递增1 } ]})// 获取列表数据的接口 第一个参数表示自定义的接口地址 第二个参数表示自定义的请求方法 // 第三个参数是回调函数,定义返回的数据Mock.mock(';, 'get', () => { return arr})
导入接口
//在main.js中导入定义好的mockApi模块 require('mockApi文件的地址')
使用定义好的接口
//在任意vue文件中 当然axios如果自己已经定义 请使用自己的 这里只做演示用import axios from 'axios'export default { created() { axios.get(';).then(res => { // 这里的res就是mock模拟的接口返回的数据 }) }}
参考链接:
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #mock拦截请求原理