javascript中 encodeURIComponent() 与 encodeURI() 的区别

前言:js 中仅有的几个全局函数中,有两个全局函数可以用来编码url 字符串。

一、encodeURIComponent()

将转义用于分隔 URI 各个部分的标点符号 ,也就是可以编码 ":",    “//”,   汉字,  “?” 等各标识。

 

二、encodeURI()

经过测试,仅仅可以编码url中的  汉字

 

 小结:

  1、因为encodeURIComponent()的编码范围比较大,如果是前后端url进行传递(不是访问或者跳转),建议使用这个!

  2、如果是前端url访问后端,并且携带了文本的参数,建议使用encodeURI(),因为这样不影响跳转的同时,能把参数携带给后端!!

 

后记:

这两玩意儿是干什么用的? 用于url作为参数传递的场景中使用 !

url当作参数传递的时候,当参数出现空格这样的特殊字段,后台只可以读取到空格前的内容,后面内容丢失,造成数据读取失败,但是如果用encodeURIComponent(),则这些特殊字符进行转义,这样后台就可以成功读取了,所以encodeURIComponent()用于url作为参数传递的场景中使用。

posted @ 2019-12-05 15:48  茶记忆  阅读(2631)  评论(0)    收藏  举报