mockjs的get传参
前端请求
const { data } = await axios("/video/childcomments", {
params: {
sort: 1,
start: 2,
count: 5,
childCount: 6,
commenIndex: 0,
},
});
后端获取参数
const getQuery = urlStr => {
const startIndex = urlStr.indexOf('?');
const strSub = urlStr.substring(startIndex + 1);
const strReplace = strSub.replaceAll('=', ':');
const arr = strReplace.split('&');
arr.forEach((it, i) => {
const startIndex = it.indexOf(':')
let k = it.substring(0, startIndex),
v = it.substring(startIndex + 1),
isNum = Object.is(Number(v), NaN)
k = `"${k}"`
!isNum ? v = Number(v) : v = `"${v}"`
arr[i] = k + ":" + v
});
const arrToStr = arr.join(',')
const resStr = `{${arrToStr} }`
const resObj = JSON.parse(resStr);
return resObj
}
Mock.mock(/video\/childcomments.*?/, getInfo => {
const { url } = getInfo
const toObj = getQuery( url)
console.log(toObj);
})
执行结果