浏览器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
相关推荐
C澒几秒前
企业私有前端物料 AI 化集成方案(RAG+DSL2Code)
前端·ai编程
前端 贾公子2 分钟前
uni-app 也能使用 App.vue?解决 uniapp 无法使用公共组件问题
开发语言·前端·javascript
周淳APP2 分钟前
【HTTP之跨域请求以及Cookie携带的限制】
前端·网络·网络协议·http
默 语3 分钟前
TypeScrip+React 全栈生态实战:从架构选型到工程落地,告别开发踩坑
前端·react.js·架构
ouliten4 分钟前
C++笔记:std::hash
c++·笔记·哈希算法
代码丰5 分钟前
简历保险箱:一款本地存储、快捷填表的 Chrome 简历助手
前端·chrome
SuperEugene5 分钟前
Promise 从入门到实战:同步异步、回调地狱、then/catch/finally 全解
前端·javascript·面试
前端 贾公子6 分钟前
uniapp 小程序获取后端的二进制 保存到手机相册
java·前端·javascript
qq_437100669 分钟前
echarts图表相关 电量进度图
前端·flask·echarts
好的收到11113 分钟前
PyTorch深度学习(小土堆)笔记4: PyTorch 训练不再“开盲盒”,TensorBoard 可视化保姆级教程
pytorch·笔记·深度学习