浏览器url地址栏空格变+号

问题描述,后台返回一个参数携带在url上面,发的时候是空格隔开的字符串,但是到了前端放到地址栏打开是一个+号。

类似于

ts 复制代码
//  后台返回的url
https://xxx.com?aa=a bxxx
// 打开浏览器后地址栏显示的
https://xxx.com?aa=a+bxxx

问了一下AI说是空格在 URL 中是特殊字符,需要进行编码才能正确传递。

而这里出现问题的原因极大可能是因为后台使用了encodeURIComponent 函数对 URL 进行编码,导致空格被转换为 %20。之后,浏览器在解析 URL 时,会将 %20 转换为 + 号。

为了避免这个问题,

后台使用encodeURIComponent 编码

ts 复制代码
const url = encodeURIComponent('xsas xxa') // 得到  'xsas%20xxa'

前端使用decodeURIComponent 解码

ts 复制代码
// 'xsas%20xxa' 从浏览器地址栏的url中读取
const url = decodeURIComponent('xsas%20xxa') // 得到xsas xxa
相关推荐
奕鼎竜瑆3 小时前
Solid 前端响应式开发从零到精通
前端·人工智能
动恰客流统计4 小时前
景区客流统计怎么做?兼顾管控与运营的实施方案解析
大数据·前端·人工智能
派小心.5 小时前
A/B测试工具免费版够用吗?
前端·数据分析
前端snow5 小时前
ai agent --- redis 缓存
前端
zhangrelay5 小时前
ROS项目设计案例智能大模型正经乱答案例
linux·笔记·学习·ubuntu·机器人
probex_5 小时前
学习笔记:知识图谱是什么,在测试里能干什么
笔记·学习·知识图谱
duanshu_6 小时前
官网表单与下载异常怎么排查?五个环节定位故障
前端·自动化·flyweight
Zhou1411366 小时前
SpringBoot_03_Web开发
前端·spring boot·python
辻弋2016 小时前
【无标题】
大数据·服务器·前端·搜索引擎·开源软件
以为你知道啊6 小时前
90年代复古博客
笔记