浏览器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
相关推荐
XiaoYu20024 分钟前
第2章 Nest.js入门
前端·ai编程·nestjs
没事多睡觉66610 分钟前
零基础React + TypeScript 教程
前端·react.js·typescript
liliangcsdn10 分钟前
MySQL存储字节类数据的方案示例
java·前端·数据库
d111111111d11 分钟前
STM32 I2C通信详解:从机地址 vs 寄存器地址
笔记·stm32·单片机·嵌入式硬件·学习·模块测试
_Kayo_12 分钟前
React useState setState之后获取到的数据一直是初始值
前端·javascript·react.js
谷哥的小弟15 分钟前
HTML5新手练习项目—生命体征监测(附源码)
前端·源码·html5·项目
黎明初时15 分钟前
react基础框架搭建3-配置 Redux:react+router+redux+axios+Tailwind+webpack
前端·react.js·webpack
wdfk_prog19 分钟前
[Linux]学习笔记系列 -- [fs]namei
linux·笔记·学习
航Hang*19 分钟前
第六章:网络系统建设与运维(中级)——链路聚合
运维·服务器·网络·笔记·华为·ensp
Object~25 分钟前
2.变量声明
开发语言·前端·javascript