encodeURIComponent()函数在url传参中的作用和使用方法

为什么使用encodeURIComponent

在使用 URL 传参的时候,如果参数中有空格等特殊字符,浏览器可能只会读取到空格面前的内容,导部分致数据丢失。encodeURIComponent() 是用于对整个 URI 组件进行编码的函数,几乎所有非字母数字的字符(+、/、=等)都会被编码

定义与语法

  1. 定义

encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。

  1. 语法
encodeURIComponent(URIstring)

对应解码decodeURIComponent()函数

decodeURIComponent() 用于对 encodeURIComponent() 进行反转义

encodeURI()和encodeURIComponent() 区别

关于编码和解码,目前js常用的就两套:
1.encodeURI 和 decodeURI
2.encodeURIComponent 和 decodeURIComponent

encodeURI 不会对本身属于URI的特殊字符进行编码,例如冒号、正斜杠、问号和井字号;
encodeURIComponent 会对它发现的任何非标准字符进行编码。

为什么encodeURIComponent / encodeURI编码时要编码两次

encodeURI使用的是 UTF-8 编码规则来编的,当服务器接收url的参数后会自动解码一次,但自动解码的字符集不一定是UTF-8,字符集不一致时解码会出现乱码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值