浏览器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
相关推荐
HIT_Weston15 分钟前
43、【Ubuntu】【Gitlab】拉出内网 Web 服务:静态&动态服务
前端·ubuntu·gitlab
LucidX19 分钟前
Web——反向代理、负载均衡与 Tomcat 实战部署
前端·tomcat·负载均衡
我的老子姓彭21 分钟前
N32WB蓝牙芯片开发
笔记
历程里程碑37 分钟前
各种排序法大全
c语言·数据结构·笔记·算法·排序算法
sen_shan1 小时前
《Vue项目开发实战》第八章:组件封装--vxeGrid
前端·javascript·vue.js
五点六六六1 小时前
双非同学校招笔记——离开字节入职小📕
前端·面试·程序员
IT_陈寒1 小时前
Redis实战:5个高频应用场景下的性能优化技巧,让你的QPS提升50%
前端·人工智能·后端
2***57421 小时前
Vue项目国际化实践
前端·javascript·vue.js
hd51cc1 小时前
MFC多线程学习笔记三:线程间的通信
笔记·学习
我也爱吃馄饨1 小时前
写的webpack插件如何适配CommonJs项目和EsModule项目
java·前端·webpack