js里URL编码的不同方法和区别
总结:
1.escape/unescape 这两个方法不能用于URL编码,但有很多人用,特此指出,因为它的真正作用是返回一个字符的Unicode编码值,不会对"+"进行编码,但是我们知道,网页在提交表单的时候,如果有空格,则会被转化为+字符。服务器处理数据的时候,会把+号处理成空格。
2.encodeURI/decodeURI 对URL中的保留字符(: / ? # = &)不编码,所以适合 编码整个URL,并且参数值中没有保留字符的,其实这种操作并不常见,我们一般只会对参数值进行编码
3.encodeURIComponent/decodeURIComponent 最常用的方法,对URL中保留字符编码,所以适合编码URL中 参数的值 如 http://a.com?pam1=中文/英文 中的 "中文/英文",其中的汉字和保留字符/都会被编码
参考文章:
encodeURI和encodeURIComponent的区别 - 掘金