浏览器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
相关推荐
zhensherlock2 分钟前
Protocol Launcher 系列:Pika 取色器的协议控制(上篇)
前端·javascript·macos·typescript·github·mac·view design
蚂蚁家的砖3 分钟前
基于 Vue 3 + Cesium 的 DJI 无人机航线规划系统技术实践
前端·无人机
inksci4 分钟前
推荐动态群聊二维码制作工具
前端·javascript·微信小程序
wuhen_n5 分钟前
Vue3 单元测试实战:从组合式函数到组件
前端·javascript·vue.js
郑州光合科技余经理2 小时前
海外O2O系统源码剖析:多语言、多货币架构设计与二次开发实践
java·开发语言·前端·小程序·系统架构·uni-app·php
arvin_xiaoting7 小时前
OpenClaw学习总结_I_核心架构_8:SessionPruning详解
前端·chrome·学习·系统架构·ai agent·openclaw·sessionpruning
工程师老罗8 小时前
Image(图像)的用法
java·前端·javascript
swipe9 小时前
把 JavaScript 原型讲透:从 `[[Prototype]]`、`prototype` 到 `constructor` 的完整心智模型
前端·javascript·面试
妄汐霜9 小时前
小白学习笔记(spring框架的aop和tx)
笔记·学习
问道飞鱼9 小时前
【前端知识】React 组件生命周期:从底层原理到实践场景
前端·react.js·前端框架·生命周期