处理URl地址栏获取参数+号消失,及前后端之间参数传递+号消失的问题
程序员文章站
2022-05-03 12:53:09
...
前言
提示:当地址栏的参数很复杂有加号时,取参数值是会发现+号消失了
现象及解决
示例:当从地址栏输入url
http://localhost:8092/#/InspectionTransferPage?code1=JI1zqH0WscM=&code2=Tp8v8qDdBOrWIOuri+IyUg==
我们使用
getUrlKey: function (name) {
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(window.location.href) || [''])[1]).replace(/\s*/g,'')
},
js函数取值时会发现+号消失了,变成了空格
这时就要对URL进行转义
url=encodeURI(url).replace(/\+/g,'%2B')
同时还有就是当前端与后端进行参数传递时,+号也需要进行转义处理
同时后端要进行替换
orgcode=orgcode.replaceAll("%2B","+");