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

  假设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); //将获取的元素存入到数组中
  }

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

最新文章

  1. CSS z-index 属性
  2. Merkle Patricia Tree (MPT) 树详解
  3. Ubuntu 下载 &amp; 编译 Android5.1 源码
  4. python-函数中定义可变参数
  5. grunt构建前端自动化
  6. 【转】android ddms中查看线程释疑
  7. Python新手学习基础之数据类型——变量
  8. 使用 flow.ci 快速发布你的项目文档
  9. Vue中comoputed中的数据绑定
  10. vue-router详解——小白速会
  11. js获取对象的长度
  12. expect login ssh
  13. 【html5】如何让Canvas标签自适应设备
  14. 转:Redis 3.2.1集群搭建
  15. clear session on close of browser jsp
  16. 被included或者被required的文件都来自哪里呢
  17. ring0 根据EThread遍历线程
  18. html中object和embed标签的区别
  19. codevs 1959 拔河比赛--判断背包内刚好装满n/2个物品
  20. activemq持久化配置,设置为主从模式(带复制的主从模式,应用mysql数据库)

热门文章

  1. 1-7HSB色彩模式
  2. EGL Driver message (Critical) eglInitialize: No available renderers.
  3. 用tecplot提取数据用于重构模型
  4. python与统计(龙族版)
  5. [GIT]比较不同分支的差异
  6. Flutter移动电商实战 --(24)Provide状态管理基础
  7. Xgboost 两种使用方式
  8. UML期末复习题——2.8:UML Design Class Diagram(DCD)
  9. C之结构体
  10. 通过OpenCL内核代码猜测设备寄存器个数