发布网友 发布时间:2022-04-23 07:34
共2个回答
懂视网 时间:2022-04-23 11:56
MockJS是一种比较通用的前端模拟HTTP请求及回复的工具,能够仿真处各类HTTP的请求及返回结果。实现在无后端的情况下,前端对于后端接口的仿真。Mock的基础使用也是比较简单,本文我们主要和大家分享Mock.JS拦截HTTP请求实例解析,希望能帮助到大家。
但,在引入MockJS时,
import Mock from 'mockjs'
会拦截所有前端发出的HTTP请求,无论是否使用Mock.mock
开启Mock仿真,都会拦截HTTP请求。
这也就是为何,就算不Mock.mock
也会后端无法获取前端HTTP请求的原因。
因此,一旦引用mockjs的情况下,无法通过前端发出HTTP请求,而会被mockjs拦截
需要在npm run build
之前,先去除对于mockjs的引用。
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变量,而不是全局变量。
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的引用。
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变量,而不是全局变量。
热心网友 时间:2022-04-23 09:04
可以的,
如果是get请求,可以在options.url中获取到,
如果是post请求,可以在options.body中获取到。
Mock.mock(/\/api\/test/,'get',(options)=>{