javascript 中的URL 编码问题! encodeURI, encodeURIComponent 如何使用

来源:互联网 发布:计算机编程培训机构 编辑:程序博客网 时间:2024/05/29 09:51
对于使用javascript编程的web开发人员来说,URL编码是个头疼的问题, 通常回动态的用javascript打开一个窗口或这刷新页面。
再这个时候就会使用到对窗口对象传递URL字符串。  当URL里面含有特殊字符(中文,& 空格等)时候, 服务器端收到的参数很容易产生乱码,产生乱码的原因就是没有对这些特殊字符进行URL编码导致的。那么encodeURI以及encodeURIComponent就是进行URL编码的两个重要函数!
试用说明:
           encodeURIComponent(url), 参数就是url字符串,返回结果为进行编码后的字符串。该函数回把所有的特殊字符转换成%dd的格式。eg:encodeURIComponent('站名=装饰装修评价网')返回结果:
            %E7%AB%99%E5%90%8D%3D%E8%A3%85%E9%A5%B0%E8%A3%85%E4%BF%AE%E8%AF%84%E4%BB%B7%E7%BD%91
            %3D为 = 编码后的结果,
%E7%AB%99%E5%90%8D为 站名 编码后的结果,%E8%A3%85%E9%A5%B0%E8%A3%85%E4%BF%AE%E8%AF%84%E4%BB%B7%E7%BD%91为 装饰装修评价网  编码后的结果

              encodeURI(url), 该方法使用方式和encodeURIComponent一样, 只是编码的结果稍微有些不同。不同的是它不会对url中 特用字符进行编码 包括(? & / = 等),同样的例子:
          encodeURIComponent('站名=装饰装修评价网')返回的结果是
         %E7%AB%99%E5%90%8D=%E8%A3%85%E9%A5%B0%E8%A3%85%E4%BF%AE%E8%AF%84%E4%BB%B7%E7%BD%91
          其中   =  没有被编码,其他都被编码了

所以当自己需要完全的控制编码时候
encodeURIComponent 方法是最准确无误的, 而当需要只对url中的某些中文字符进行编码时 encodeURI使用起来就更方便,不过在一定情况很容易出错。





在此推荐一下:  饰装修评价推荐查询网 http://www.zhuangxiu007.com





原创粉丝点击