浏览器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
相关推荐
用户69371750013844 分钟前
你每天用的 AI,可能真的被“投毒”了
前端·后端·ai编程
吴声子夜歌6 分钟前
Vue3——Vuex状态管理
前端·vue.js·vue·es6
qq_12084093717 分钟前
Three.js 工程向:Frustum Culling 与场景分块优化实战
前端·javascript
漫游的渔夫12 分钟前
从 Fetch 到 RAG:为什么你的 AI 知识库总是“胡言乱语”?
前端·人工智能
Amos_Web14 分钟前
谷歌浏览器插件Brower-Books: 把整个浏览器变成你的云端书架
前端·chrome·产品
以梦为马无处可栖16 分钟前
AxVisor 深度学习笔记-ARM 虚拟化硬件原理
arm开发·笔记·深度学习
三品吉他手会点灯16 分钟前
C语言学习笔记 - 5.C概述 - C的应用领域
c语言·笔记·学习
豹哥学前端18 分钟前
前端快速上手保姆级教程day5: 响应式布局
前端·响应式设计
ZC跨境爬虫21 分钟前
3D地球卫星轨道可视化平台开发 Day14(彻底移除多余阴影)
前端·javascript·3d·信息可视化·json