• 【URL带参跳转乱码】-解决方式


    1 success: function (resDate) {
    2                         if (resDate.statu == "200") {
    3                             layer.msg("查询成功");
    4                             var utf=$('#Name').val();
    5                             alert(utf);
    6                             setTimeout(function () {
    7                                 window.location.href='index.jsp?name='+utf;
    8                             }, 1000);
    1  window.onload=function() {
    2             var a =new Array();
    3             a = window.location.href.split('=');
    4             console.log(a[1]);
    5 }

     

     似乎是http协议的一种保护机制,在此会自动转码为URL编码,在尝试了网上很多转换方式都失败后,我灵机一动,先下手为强!

      我在跳转之前就把他转成其他编码传参,等到第二个页面的时候解码接参

      即--->  1.转码 -- 2.传值  --  3.解码  --  4.取值

    其中,1和2 发生在第一个页面,3和4发生在第二个页面,转码的前提是你之后有方法对它解码

    那么,代码如下:

      

     1 //要传的值 转码
     2 var utf=escape($('#Name').val());
     3 //要接收的值 解码
     4 var    a =new Array();
     5          a = window.location.href.split('=');
     6 var name = unescape(a[1]);
     7 
     8 /*定义和用法
     9 escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。
    10 
    11 语法
    12 escape(string)
    13 参数    描述
    14 string    必需。要被转义或编码的字符串。
    15 返回值
    16 已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列。
    17 
    18 说明
    19 该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 。其他所有的字符都会被转义序列替换。
    20 
    21 提示和注释
    22 提示:可以使用 unescape() 对 escape() 编码的字符串进行解码。
    23 
    24 注释:ECMAScript v3 反对使用该方法,应用使用 decodeURI() 和 decodeURIComponent() 替代它。*/

    效果图:

     

     

  • 相关阅读:
    13-17读后感
    读10 11 12章
    读书作业
    5.2.3
    测试与封装
    作业四
    作业三
    实验四 主存空间的分配和回收模拟
    评论
    实验三 进程调度模拟程序
  • 原文地址:https://www.cnblogs.com/xiaoluohao/p/12502040.html
Copyright © 2020-2023  润新知