浏览器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
相关推荐
愚润求学11 分钟前
【Linux】线程控制
linux·运维·开发语言·c++·笔记
Moment30 分钟前
想做远程工作?这些技术栈和思维得准备好 🥰🥰🥰
前端·javascript·面试
试音刀郎1 小时前
shell完整版教程
前端·chrome
Mr.Liu61 小时前
小程序33-列表渲染
前端·微信小程序·小程序
轩宇瑶1 小时前
vueflow
前端
前端snow1 小时前
.env里面的JWT_SECRE这个怎么设置
前端
Starry丶1 小时前
一天搞懂深度学习--李宏毅教程笔记
人工智能·笔记·深度学习
gnip1 小时前
实时消息通知实现
前端
晓得迷路了1 小时前
栗子前端技术周刊第 83 期 - Rolldown-Vite、Angular v20、Docusaurus 3.8...
前端·javascript·vite
小磊哥er1 小时前
【前端AI实践】简说AI大模型:AI大模型的基本概念和使用
前端·ai编程