mockjs无法拦截axios发出的请求

原因:mockjs需要在axios之前注册实例,不然无法拦截请求;
// import { axiosGet } from '../base/index.ts'
import axios from 'axios'
import Mock from 'mockjs'



Mock.mock('http://localhost:8080/xxx','get',()=>{
    alert(222)
    return Promise.resolve('登陆成功')
})

// Mock.mock(/\/xxx/,'get',()=>{   //最好不要用字符串,字符串要全部都写上才能找到,最好用正则判断。
//     alert(222)
//     return Promise.resolve('登陆成功')
// })

Mock.mock('/xxx','get',(options)=>{  //看好是post还是get请求方式  //options里有请求参数等;
    alert(222)
    return Promise.resolve('登陆成功')
})
Mock.mock('/xxx\?name=张三&sex=男','get',(options)=>{   //要么直接在url上加上请求参数去捕获(主要是\?,不然?在正则是自己的含义),要么从options拿到参数捕获。
    alert(222)
    return Promise.resolve('登陆成功')
})
export function getLoginInfo(params) { alert(params) // return axiosGet({ params }) return axios('/xxx') }

 

 
 
Mock.mock(url,type,funciton)
url可以填绝对路径,也可以填正则表达式,也可以填url部分字符串;
posted @ 2022-05-01 00:05  Eric-Shen  阅读(1242)  评论(0编辑  收藏  举报