我对JavaScript的escape,encodeURI,encodeURIComponent这三个函数,不知道有什么用??,为什么要把页面的url转一下编码呢??让浏览器自己转为utf8不可以吗?为什么不同的浏览器将url转成utf8编码会不同呢??O(∩_∩)O~

解决方案 »

  1.   

    解决URL中有汉字的问题。否则就请求不到数据。无效的路径
      

  2.   

    就是说如果url中无中文的话,就不需要转了,对吧O(∩_∩)O~
      

  3.   


    中文,空格,符号,问号,&号等,如果包含这些就都需要转
    所以如果记不全,保险的办法就是都转
      

  4.   

    1、   传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。                            例如:<script language="javascript">document.write('<a href="http://passport.baidu.com/?logout&aid=7&u='+encodeURIComponent("http://cang.baidu.com/bruce42")+'">退出</a>');</script>2、   进行url跳转时可以整体使用encodeURI例如:Location.href=encodeURI("http://cang.baidu.com/do/s?word=百度&ct=21");3、   js使用数据时可以使用escape[Huoho.Com编辑] 
    例如:搜藏中history纪录。4、   escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeURI,encodeURIComponent编码结果相同。
      

  5.   

    POST方式提交 不需要转
    GET方式 链接传值 建议都要转另外楼上贴的escape 基本上淘汰 encodeURI和encodeURIComponent比较常用