解决请求搜索使用[](中括号)报错问题
首先看下图:
在请求搜索中使用[]
会出现报错情况,一般因为路径解析问题,我们可以使用转义encodeURIComponent就可以解决。
在请求参数做处理,也可以在请求拦截通过做处理
const encodeParams = {};
if (params) {
const isRes = (str) => /\[|\]/g.test(str);
Object.keys(params).forEach((key) => {
encodeParams[key] = params[key] && isRes
? [...(params[key]).toString()].map((item) => (isRes(item) ? encodeURIComponent(item) : item)).join('')
: params[key];
});
}
const result = await axios.get(url, { params: encodeParams});
console.log(result)
这里简单的做个实例,也可以只对get
请求做处理。