encodeURI和 encodeURIComponent 的作用及应用
转自:https://blog.csdn.net/engine_1124/article/details/8601228
今天的应用场景是一个发送拼接的url时候是想要某个参数长这样子url=name=0&age=19这个样子所以当我们使用的时候并不想在传送url的时候把我们的这个参数分割成好多参数是想要一整个当成一个参数,这时候我们就需要使用encodeURIComponent把这个参数编程一个使得不被&分解掉。
例子如下:
var s = ‘https://www.google.com.hk/search?q=encodeuricomponent&oq=encode&aqs=chrome.4.69i59j69i57j69i65j69i59j0l2.4974j0j7&sourceid=chrome&ie=UTF-8’
然后使用
encodeURIComponent(s)
得到:
https%3A%2F%2Fwww.google.com.hk%2Fsearch%3Fq%3Dencodeuricomponent%26oq%3Dencode%26aqs%3Dchrome.4.69i59j69i57j69i65j69i59j0l2.4974j0j7%26sourceid%3Dchrome%26ie%3DUTF-8
然后:
decodeURIComponent(‘https%3A%2F%2Fwww.google.com.hk%2Fsearch%3Fq%3Dencodeuricomponent%26oq%3Dencode%26aqs%3Dchrome.4.69i59j69i57j69i65j69i59j0l2.4974j0j7%26sourceid%3Dchrome%26ie%3DUTF-8’)
这是解码得到:
“https://www.google.com.hk/search?q=encodeuricomponent&oq=encode&aqs=chrome.4.69i59j69i57j69i65j69i59j0l2.4974j0j7&sourceid=chrome&ie=UTF-8”
可以看出来encodeURIComponent的好处在于把一段查询变成了一个query参数,这样就可以防止原来的形式分解成多个query,当我们传递参数的场景是当成一个参数但是里面还是有多个&这时候就需要使用encodeURIComponent啦,这就是应用场景。