浏览器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
相关推荐
ByNotD0g18 分钟前
Doris 学习笔记
android·笔记·学习
困死,根本不会25 分钟前
Qt Designer 基础操作学习笔记
开发语言·笔记·qt·学习·microsoft
2501_9269783327 分钟前
LLM的可信度边界--人类思考的可信边界
经验分享·笔记·ai写作
new code Boy29 分钟前
NestJS、Nuxt.js 和 Next.js
前端·后端
在坚持一下我可没意见35 分钟前
软件测试入门复习笔记:认识测试
软件测试·笔记·概念
xuhaoyu_cpp_java39 分钟前
并发编程笔记2
笔记
云边散步42 分钟前
godot2D游戏教程系列二(13)
笔记·学习·游戏·游戏开发
进击切图仔1 小时前
执行 shell 脚本 5 种方式对比
前端·chrome
局i1 小时前
React 简单地图组件封装:基于高德地图 API 的实践(附源码)
前端·javascript·react.js
九成宫1 小时前
编译技术/编译原理期末复习
笔记·软件工程·编译原理·编译技术