encodeURI和encodeURIComponent的区别
twocode

    在URI的路径优化中,很多时候会将URL中出现的中文进行特殊处理。PHP中使用的就是urlencode和urldecode,而在JS中也同样有功能相似的JS全局函数:

    encodeURI和decodeURI

    encodeURIComponent和decodeURIComponent

    那么encodeURI和encodeURIComponent分别是在什么时候使用呢?这就要从他处理之后的区别来看他们的应用时机:

    var url = 'http://www.pekingpiao.com/kw/系统';

    现在使用encodeURI和encodeURIComponent处理一下


    document.write(encodeURI(url));

    //http://pekingpiao.com/kw/%E7%B3%BB%E7%BB%9F

    document.write(encodeURIComponent(url));    //http%3A%2F%2Fpekingpiao.com%2Fkw%2F%E7%B3%BB%E7%BB%9F

    从以上处理完的结果分析,encodeURI()不会将路径中的’/‘进行编码,能够将传递的参数正常的传给下一个文件;而encodeURIComponent()会将url中的’/‘进行编码,将url完全的当成了一个整体,编码完成后也难以区分,所以不能传递参数了。现在应该明白这两组函数的区别了,所以就可以根据自己的实际情况进行取舍了@pekingpiao.com



网友评论已关闭