关于 URL 中 “+“ 号变成空格的问题

当你在 URL 中传递参数时,加号 (+) 会被自动转换为空格,这是 URL 编码的标准行为。

问题原因

在 URL 中:

  • 空格会被编码为 +

  • 当 URL 被解码时,+ 号又会被转换回空格

  • 这会导致原始数据中的 + 号丢失

解决方案

你需要对参数值进行正确的 URL 编码:

javascript 复制代码
const params = `adH+NP1zvQ==`;
const encodedParams = encodeURIComponent(params);

const { code, data } = await get(`/接口?asd=${encodedParams}`);

说明

  1. encodeURIComponent() 函数会将特殊字符(包括 +, =, / 等)转换为它们的 URL 编码形式

  2. 这样处理后,+ 号会被编码为 %2B,在传输过程中就不会被误认为是空格

  3. 后端接收到参数后需要正确解码

相关推荐
小高0073 分钟前
带新人踩坑实录:行内 onclick 找不到函数?三分钟彻底搞懂作用域!
前端·javascript·面试
怪侠欧阳波9 分钟前
Hexo博客部署Cloudflare Pages完整指南
前端·javascript
Trust yourself2431 小时前
在easyui中如何自定义表格里面的内容
前端·javascript·easyui
程序员二师兄1 小时前
鸿蒙基础建设之IAP支付接入
前端·javascript·harmonyos
Smalike1 小时前
斗胆预测未来的前端开发方式:从“码农”到“AI调酒师”的奇幻漂流
前端·javascript
程序媛李李李李李蕾2 小时前
我亲历了2025年最荒谬的前端灾难:一支触控笔"干掉"了全球CSS预处理器
前端·javascript
苇柠2 小时前
Java常用API(1)
java·开发语言
意疏2 小时前
浙江大学PTA程序设计C语言基础编程练习题1-5
c语言·开发语言
code bean2 小时前
【C#】C# 事件 两次 -= 会怎么样?
开发语言·c#
惜.己2 小时前
使用python中的pymysql库,并且转化为数组元组数据
开发语言·python