关于 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. 后端接收到参数后需要正确解码

相关推荐
kyriewen7 小时前
别再每次都 Google 了:我整理了前端日常最常踩的 10 个 Git 坑,附速查表
前端·javascript·git
SmartBoyW8 小时前
深入ECMAScript规范:彻底搞懂JS隐式类型转换与底层ToPrimitive机制
前端·javascript
用户852495071848 小时前
解密 JavaScript 中的 this:谁才是真正的调用者?
javascript·面试
Heo8 小时前
Vite进阶用法详解
前端·javascript·面试
铁皮饭盒10 小时前
Next.js 风格路由内置?Bun FileSystemRouter 凭啥这么香
javascript
小林ixn11 小时前
别再背八股了!从 5 个真实场景彻底搞懂 JavaScript 的 this
javascript
东风破_11 小时前
JavaScript 面试常考的字符串算法:从反转字符串到回文判断
前端·javascript
巴勒个啦11 小时前
D3.js 入门实战:用力导向图可视化项目依赖关系
javascript
不好听61312 小时前
JavaScript 的 this 到底指向谁?
javascript·面试
触底反弹12 小时前
🔥 2026 年爆火的 Harness Engineering 到底是什么?从原理到实战一文讲透
javascript·人工智能·程序员