浏览器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
相关推荐
叶子野格6 分钟前
Notepad++编写html文件使用D3绘图:数据可视化
笔记·学习·信息可视化·开源·notepad++
tzy23331 分钟前
Vue和React之争
前端·vue.js·react.js
网络点点滴1 小时前
Vue3中toRaw和MarkRaw
前端·javascript·vue.js
IT 行者1 小时前
Spring Boot 4.0.5 正式发布:Bug 修复与依赖升级
spring boot·后端·bug
李松桃1 小时前
01HTML-CSS-入门知识点
前端·css
广州华水科技1 小时前
北斗GNSS变形监测系统是什么?主要有哪几种应用?
前端
晴天161 小时前
【跨桌面应用开发】Neutralinojs快速入门指南
前端·javascript·electron·node.js
卖报的大地主1 小时前
Learn Claude Code Agent 开发 | 5、按需技能加载:领域知识不用全塞系统提示
人工智能·笔记
爱学习的程序媛2 小时前
【Web前端】深入解析JavaScript异步编程
开发语言·前端·javascript·ecmascript·web
梧桐1682 小时前
马克沁机枪上阵(二):前线开辟—Claude Code 如何用一天打通前端
前端