javascript中 encodeURIComponent() 与 encodeURI() 的区别
前言:js 中仅有的几个全局函数中,有两个全局函数可以用来编码url 字符串。
一、encodeURIComponent()
将转义用于分隔 URI 各个部分的标点符号 ,也就是可以编码 ":", “//”, 汉字, “?” 等各标识。

二、encodeURI()
经过测试,仅仅可以编码url中的 汉字

小结:
1、因为encodeURIComponent()的编码范围比较大,如果是前后端url进行传递(不是访问或者跳转),建议使用这个!
2、如果是前端url访问后端,并且携带了文本的参数,建议使用encodeURI(),因为这样不影响跳转的同时,能把参数携带给后端!!
后记:
这两玩意儿是干什么用的? 用于url作为参数传递的场景中使用 !
url当作参数传递的时候,当参数出现空格这样的特殊字段,后台只可以读取到空格前的内容,后面内容丢失,造成数据读取失败,但是如果用encodeURIComponent(),则这些特殊字符进行转义,这样后台就可以成功读取了,所以encodeURIComponent()用于url作为参数传递的场景中使用。

浙公网安备 33010602011771号