Mock.JS拦截HTTP请求实例解析-JS笔记
2018-03-06 14:56
507 查看
MockJS是一种比较通用的前端模拟HTTP请求及回复的工具,能够仿真处各类HTTP的请求及返回结果。实现在无后端的情况下,前端对于后端接口的仿真。Mock的基础使用也是比较简单,本文我们主要和大家分享Mock.JS拦截HTTP请求实例解析,希望能帮助到大家。
但,在引入MockJS时,
会拦截所有前端发出的HTTP请求,无论是否使用Mock.mock开启Mock仿真,都会拦截HTTP请求。
这也就是为何,就算不Mock.mock也会后端无法获取前端HTTP请求的原因。
因此,一旦引用mockjs的情况下,无法通过前端发出HTTP请求,而会被mockjs拦截
需要在npm run build之前,先去除对于mockjs的引用。
Dev环境和Release环境下Mock的引用
仅在Dev开发环境下global.env === 'dev',引入Mockjs,以免在release的版本中,真正的HTTP请求被拦截。
此处的global为自定义的全局config变量,而不是全局变量。
Mock.JS拦截HTTP请求的问题
MockJS是一种比较通用的前端模拟HTTP请求及回复的工具,能够仿真处各类HTTP的请求及返回结果。实现在无后端的情况下,前端对于后端接口的仿真。Mock的基础使用也是比较简单:Mock.JS官网
但,在引入MockJS时,
会拦截所有前端发出的HTTP请求,无论是否使用Mock.mock开启Mock仿真,都会拦截HTTP请求。
这也就是为何,就算不Mock.mock也会后端无法获取前端HTTP请求的原因。
因此,一旦引用mockjs的情况下,无法通过前端发出HTTP请求,而会被mockjs拦截
需要在npm run build之前,先去除对于mockjs的引用。
Dev环境和Release环境下Mock的引用
仅在Dev开发环境下global.env === 'dev',引入Mockjs,以免在release的版本中,真正的HTTP请求被拦截。
此处的global为自定义的全局config变量,而不是全局变量。
但,在引入MockJS时,
import Mock from 'mockjs'
会拦截所有前端发出的HTTP请求,无论是否使用Mock.mock开启Mock仿真,都会拦截HTTP请求。
这也就是为何,就算不Mock.mock也会后端无法获取前端HTTP请求的原因。
因此,一旦引用mockjs的情况下,无法通过前端发出HTTP请求,而会被mockjs拦截
需要在npm run build之前,先去除对于mockjs的引用。
Dev环境和Release环境下Mock的引用
import global from '../src/common/global';if (global.env === 'dev'){ var Mock = require('mockjs'); }if (global.env === 'dev'){ //Run MOCK for (let mockData of mockDatas){ //console.log(mockData); Mock.mock(mockData.url, mockData.data); } }
仅在Dev开发环境下global.env === 'dev',引入Mockjs,以免在release的版本中,真正的HTTP请求被拦截。
此处的global为自定义的全局config变量,而不是全局变量。
Mock.JS拦截HTTP请求的问题
MockJS是一种比较通用的前端模拟HTTP请求及回复的工具,能够仿真处各类HTTP的请求及返回结果。实现在无后端的情况下,前端对于后端接口的仿真。Mock的基础使用也是比较简单:Mock.JS官网
但,在引入MockJS时,
import Mock from 'mockjs'
会拦截所有前端发出的HTTP请求,无论是否使用Mock.mock开启Mock仿真,都会拦截HTTP请求。
这也就是为何,就算不Mock.mock也会后端无法获取前端HTTP请求的原因。
因此,一旦引用mockjs的情况下,无法通过前端发出HTTP请求,而会被mockjs拦截
需要在npm run build之前,先去除对于mockjs的引用。
Dev环境和Release环境下Mock的引用
import global from '../src/common/global';if (global.env === 'dev'){ var Mock = require('mockjs'); }if (global.env === 'dev'){ //Run MOCK for (let mockData of mockDatas){ //console.log(mockData); Mock.mock(mockData.url, mockData.data); } }
仅在Dev开发环境下global.env === 'dev',引入Mockjs,以免在release的版本中,真正的HTTP请求被拦截。
此处的global为自定义的全局config变量,而不是全局变量。
相关文章推荐
- JS 拦截全局ajax请求实例解析
- 简单的使用mock.js模拟数据,拦截ajax请求
- Http请求和Json解析结合实例
- Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
- Android 学习笔记:View的事件分发机制 解析及实例讲解
- 本文实例讲述了js实现window.open不被拦截的解决方法。
- 原生JS实例练习——控制div属性—— JS学习笔记2015-8-4(第93天)
- JS作用域闭包、预解释和this关键字综合实例解析
- cocos2d-x 3.0游戏实例学习笔记《卡牌塔防》第七步---英雄要升级&属性--解析csv配置文件
- JS 操作Array数组的方法及属性实例解析
- js事件模型与自定义事件实例解析
- webgl+three.js,学习笔记,画一个立方体+解析
- cocos2d-js解析官方js-test实例入口
- 脚本代码:实例解析Js+XML的操作方法
- 慕课网-JS动画实例学习笔记
- Mock.js 学习笔记
- cocos2d-js解析官方js-test实例入口
- 脚本代码:实例解析Js+XML的操作方法
- JSDOM编程艺术-笔记-ch5 平稳退化&分离JS(BY 弹窗实例)
- webview 笔记二(android和js交互、包括链接跳转常见问题处理,加载监视,拦截Url等)