• js的url中传递中文参数乱码,如何获取url中参数问题


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

    1.传参页面
    Javascript代码:

    <script type=”text/javascript”>
        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() 使用吧!

    本文转自:http://www.wufangbo.com/js-url-zhong-wen-luan-ma/

  • 相关阅读:
    T-SQL:事务锁下的并发处理(十五)
    C# Quartz定时任务corn时间设置详解
    C# QuartZ使用实例写成服务
    SQL SERVER 一个SQL语句的执行顺序
    SQL SERVER 如何判断是不是年,月最后一天
    SQL SERVER 如何声明一个变量
    SQL SERVER GO命令循环使用实例
    T-SQL:批GO使用实例(十四)
    VS2017进程为idXXXX 无法启动解决方案
    UI5-文档-4.20-Aggregation Binding
  • 原文地址:https://www.cnblogs.com/dreammyle/p/4776892.html
Copyright © 2020-2023  润新知