zoukankan      html  css  js  c++  java
  • JS中的的Url传递中文参数乱码,如何获取Url中参数问题

    一:Js的Url中传递中文参数乱码问题,重点:encodeURI编码,decodeURI解码:

    1.传参页面
    Javascript代码:<script type=”text/javascript”>// <![CDATA[
    function send(){
    var url = "test01.html";
    var userName = $("#userName").html();
    window.open(encodeURI(url + "?userName=" + userName)); }
    // ]]>
    </script>

    2. 接收参数页面:test02.html

    <script>
    var urlinfo = window.location.href;//獲取url
    var userName = urlinfo.split(“?”)[1].split(“=”)[1];//拆分url得到”=”後面的參數
    $(“#userName”).html(decodeURI(userName));
    </script>
    二:如何获取Url“?”后,“=”的参数值:

    A.首先用window.location.href获取到全部url值。
    B.用split截取“?”后的全部
    C.split(“?”)后面的[1]内数字,默认从0开始计算

    三:Js中escape,unescape,encodeURI,encodeURIComponent区别:

    1.传递参数时候使用,encodeURIComponent否则url中很容易被”#”,”?”,”&”等敏感符号隔断。
    2.url跳转时候使用,编码用encodeURI,解码用decodeURI。
    3.escape() 只是为0-255以外 ASCII字符 做转换工作,转换成的 %u**** 这样的码,如果要用更多的字符如 UTF-8字符库 就一定要用 encodeURIComponent() 或 encodeURI() 转换才可以成 %nn%nn 这的码才可以,其它情况下escape,encodeURI,encodeURIComponent编码结果相同,所以为了全球的统一化进程,在用 encodeURIComponent() 或 encodeURI() 代替 escape() 使用吧!

  • 相关阅读:
    CentOS7 安装 JIRA 7.2.x 教程:下载、安装、汉化、破解
    安装 GraphicsMagick
    CentOS 7 yum 安装 Nginx
    CentOS 安装 OpenResty
    软件工程技术面试个人指南
    五线谱
    中央C-高低音谱号里的中央C和其它音节
    使用管道copy同一文件至多个目录下
    refusing to merge unrelated histories
    Viewing A Specific Commit_12
  • 原文地址:https://www.cnblogs.com/cugb-2013/p/3273461.html
Copyright © 2011-2022 走看看