当前位置: 首页 > news >正文

js中encodeURIComponent函数使用场景

encodeURIComponent 是 JavaScript 中的一个内置函数,它的作用是:

将字符串编码为可以安全放入 URL 的形式。

✅ 为什么需要它?
URL 中有一些字符是有特殊意义的,比如:
? 用来开始查询参数
& 分隔多个参数
= 连接键和值
空格、中文、特殊符号等等也不能直接放在 URL 中
如果你直接拼接这些字符到 URL 中,浏览器会无法正确识别或者出错。

原始字符串:

var name = "张三&李四";
var token = "abc=123?token";

不编码的结果(拼 URL):

/user/info?name=张三&李四&token=abc=123?token

⚠️ 这会导致 URL 被错误地解析,参数分隔混乱。

✅ 用 encodeURIComponent 编码:

var url = "/user/info?name=" + encodeURIComponent(name) + "&token=" + encodeURIComponent(token);

编码后的结果:

/user/info?name=%E5%BC%A0%E4%B8%89%26%E6%9D%8E%E5%9B%9B&token=abc%3D123%3Ftoken

现在这个 URL 就安全可传输,浏览器和服务器都能正确解码回原文。

✅ 解码(如果需要)
配套的解码函数是 decodeURIComponent(),用来将编码后的字符串还原回原始内容。

var original = decodeURIComponent("%E5%BC%A0%E4%B8%89");
// original = "张三"

总结
encodeURIComponent() 是用来把字符串转成可以安全放在 URL 参数中的格式,防止出错,是构造 URL 查询字符串时的标准做法。

✅ 服务端:通常会自动解码
几乎所有主流后端框架都会自动解码 URL 参数:

后端语言框架会自动解码?
Node.jsExpress, Koa✅ 是
PythonFlask, Django✅ 是
JavaSpring MVC✅ 是
PHP原生 / Laravel✅ 是
Gonet/http✅ 是

相关文章:

  • 3.9/Q1,GBD数据库最新文章解读
  • FinalShell 密码在线解析方法(含完整源码与运行平台)
  • SQLServer与MySQL数据迁移案例解析
  • mysql日志文件binlog分析记录
  • 软考 系统架构设计师系列知识点之杂项集萃(69)
  • [Usaco2007 Dec]队列变换 题解
  • Python之web错误处理与异常捕获
  • LeRobot的机器人控制系统(下)
  • 有监督学习——决策树
  • 从3.7V/5V到7.4V,FP6291在应急供电智能门锁中的应用
  • 为什么mosquitto 禁用了 topic “#“后,无法使用主题中包含%c client_id了?
  • 【动手学深度学习】2.1. 数据操作
  • 技术篇-2.4.Python应用场景及开发工具安装
  • 如果验证集缺失或测试集缺失应该怎么办?
  • Cursor远程连接+工具使用
  • redis-7.4.2 通过 systemd管理,rpmbuild spec文件参考
  • 关于初学者对大模型的一些概念的理解
  • 纳斯达克与标普500的技术博弈:解析美股交易系统的低延迟与高安全解决方案
  • java后端-海外登录(谷歌/FaceBook/苹果)
  • 高等数学-空间中的曲线与曲面
  • ui设计网课/东莞seo计费
  • 运城市做网站价格/线上渠道推广有哪些方式
  • 杭州模板建站定制网站/模板网站建设开发
  • 网站如何做免费推广/谷歌浏览器chrome官网
  • 盐城市住房城乡建设网站/seo编辑招聘
  • 做网站网页的工作怎么样/网站建设的意义和作用