浏览器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
相关推荐
用户05954017446几秒前
用了 3 个月 ChatGPT,才发现它一直在遗忘——用 Playwright 自动化验证记忆存储一致性
前端·css
玄玄子几秒前
xss前端解决方案
前端·浏览器·xss
十月的皮皮几秒前
C语言学习学习笔记20260704-中缀表达式求值(双栈法)
c语言·笔记·学习
林希_Rachel_傻希希3 分钟前
web性能优化之——AI总结视频
前端·javascript·面试
智者知已应修善业6 分钟前
【 LM358AD方波】2024-12-31
驱动开发·经验分享·笔记·硬件架构·硬件工程
前端炒粉10 分钟前
个人简历面经总结二
前端·网络·vue.js·react.js·面试
什仙10 分钟前
电感规格书全部专业术语完整释义(村田原厂标准定义)
笔记·电感器
用户0595401744623 分钟前
用了半年 LangChain Memory,才发现回滚测试压根没测对
前端·css
木木的木云26 分钟前
从零构建微前端框架:PavilionMfe 设计揭秘
前端·架构·vite
weedsfly33 分钟前
Cookie 安全三属性:HttpOnly、Secure、SameSite 分别防什么?
前端·javascript·面试