解决前端传入的加号,在后端接口被替换成空格的问题
项目中的设备信息页面中有一个设备类型的查询框,由于设备类型可能存在+号,为了保证查询功能能够正常执行,我们需要在前端对带有+号的设备类型进行特殊处理。处理办法如下:
方法一:
//通过正则表达式判断modelId是否存在+号
const regex = new RegExp('[+]');
//regex.test()用来匹配字符串,符合返回true,否则返回false
if(regex.test(modelId)){
//如果存在,则将+号替换成%2B
modelId = modelId.replace("+","%2B");
}
方法二:
//在前端接口对该变量使用encodeURIComponent方法
getAllEqpInfo(eqpType, eqpModel, eqpId) {
return Axios.get('/EqpManagement/GetAllEqpInfo?eqpType=' + eqpType + '&eqpModel=' + encodeURIComponent(eqpModel) + '&eqpId=' + eqpId);
}
参考:
链接: encodeURIComponent方法
链接: http请求中加号被替换为空格?源码背后的秘密