解决JS传参特殊字符报错:encodeURI与encodeURIComponent的使用

作者:异步漫步

时间:2026-10-28

浏览:282

在JavaScript中传递包含特殊字符的参数时,若未进行编码处理易导致请求错误。本文详解encodeURI与encodeURIComponent方法的区别,指出前者保留部分符号而后者对所有非字母数字字符进行编码,并提供正确的参数编码解决方案。

文章目录

特殊字符导致的传参错误

当URL参数中包含类似 `~!@#$%^&*()_ -=[]{}|;':”,.\/<>?` 等特殊字符时,若未进行适当处理,极易引发传参错误。



具体解决方法如下:

encodeURI 方法详解

使用 encodeURI 方法


该方法可将文本字符串编码为一个有效的统一资源标识符 (URI)。



语法为 encodeURI(URIString)



其中,URIString 为必选参数,代表一个已编码的 URI 字符串。



详细说明

encodeURI 方法会返回一个经过编码的 URI。若将编码结果传递给 decodeURI,可还原为初始字符串。需要注意的是,encodeURI 不会对以下字符进行编码:":"、"/"、";" 和 "?"。如需对这些字符进行编码,应使用 encodeURIComponent 方法。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章