• web前端页面解决中文传参乱码问题


      问题背景:在项目中往往会涉及到前端跳转页面时要传一些参数给下一个页面,如果参数是英文或者数字的时候就很好解决,然而有时候传参会涉及到中文汉字,这个时候再单纯的拼接往往就会导致中文乱码,下面我们就该讨论一下如何解决中文传参乱码的问题。

      假设A页面跳转到B页面并且A向B传参,首先在A页面中要调用这个方法:encodeURI("这里是中文参数");

      完整的拼接效果为:         

      window.location.href="B.html?&title="+encodeURI("这里是中文参数"); 

      至此页面中文传参已经完成,下一步就是如何把参数给翻译成中文,那么再跳到B页面进行处理。

      解码代码也只是一句:decodeURI("需要转码的链接");

      而要获取参数,则需要分析链接并做正则匹配进行截取,全部代码如下:  

      //截取链接传过来的参数
      var url=window.location.href; //获取当前页面的url
      url = decodeURI(url);//转码
      var len=url.length; //获取url的长度值
      var a=url.indexOf("?"); //获取第一次出现?的位置下标
      var b=url.substr(a+1,len); //截取问号之后的内容
      var c=b.split("&"); //从指定的地方将字符串分割成字符串数组
      var arr=new Array(); //新建一个数组
      for(var i=0;i<c.length;i++){
        var d=c[i].split("=")[1]; //从=处将字符串分割成字符串数组,并选择第2个元素
        arr.push(d); //将获取的元素存入到数组中
      }

    至此,前端页面间的传中文参数乱码的问题就得到解决了。

  • 相关阅读:
    HDU 2717 Catch That Cow
    补题列表
    Codeforces 862C 异或!
    HDU 2084
    HDU 2037
    Codeforces 492B
    POJ 2262
    Codeforces 1037A
    HDU 1276
    itertools — Functions creating iterators for efficient looping
  • 原文地址:https://www.cnblogs.com/zhangdiIT/p/7482861.html
Copyright © 2020-2023  润新知