⼀些特殊参数⽐如get请求,我们会主动进⾏编码decodeURI、decodeURIComponent。所以当我们从url中取参数时还是得注意⼀下解码的情况。
encodeURI()
它着眼于对整个URL进⾏编码,因此除了常见的符号以外,对其他⼀些在⽹址中有特殊含义的符号“; / ? : @ & = + $ , #”,也不进⾏编码。编码后,它输出符号的utf-8形式,并且在每个字节前加上%。
encodeURIComponent()
param name与encodeURI()的区别是,它⽤于对URL的组成部分进⾏个别编码,⽽不⽤于对整个URL进⾏编码。因此,“; / ? : @ & = + $ , #”,这些在encodeURI()中不被编码的符号,在encodeURIComponent()中统统会被编码。⾄于具体的编码⽅法,两者是⼀样。
最后友情提醒,如果⽤的hash路由千万不要⽤window.location.search 来取query参数
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论