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

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

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

web前端页面解决中文传参乱码问题的更多相关文章

  1. pager-taglib2.0中文传参乱码问题

    1.重现问题 在web项目中有时会用到pager-taglib来作为分页的标签,如上图红色框标识所示,当我们需要把页面参数保持的时候我们会在<pg:param />标签中把参数进行传递. ...

  2. 在浏览器上直接输入url 时,中文传参乱码问题

    这样的地址 xxx.asp?name=中国  ,通过 超链接打开这个链接 ,xxx.asp能够成才接收参数,但是如果将地址直接放到浏览器地址栏上,回车, xxx.asp就无法正确接收中文参数,一直显示 ...

  3. js URL中文传参乱码

    js: var searchVal = encodeURIComponent($.trim($('#js_search_val').val()));//搜索的值 encodeURIComponent( ...

  4. 去哪网实习总结:JavaWeb中文传參乱码问题的解决(JavaWeb)

    本来是以做数据挖掘的目的进去哪网的.结构却成了系统开发... 只是还是比較认真的做了三个月.老师非常认同我的工作态度和成果... 实习立即就要结束了,总结一下几点之前没有注意过的变成习惯和问题,分享给 ...

  5. web前端页面项目经验总结

    项目时间:2016年4月5日--4月9日项目名称:阿七果子园web前端页面项目内容:    1.HTML5+CSS+JavaScript(banner+timer)+JQuery(small_bann ...

  6. 基于.net EF6 MVC5+WEB Api 的Web系统框架总结(1)-Web前端页面

    本 Web 系统框架基于C# EF6+MVC+WebApi的快速应用开发平台.本节主要介绍Web前端页面设计与实现.Web前端页面主要分为普通列表页面.树状导航列表页面.普通编辑页面.数据导入页面.向 ...

  7. Web前端页面的浏览器兼容性测试心得(二)搭建原汁原味的IE8测试环境

    如果你做的页面被老板或PM要求兼容IE8,你就值得同情了.IE8不支持HTML5,在2017年的前端界,开发者不涉及HTML5标准简直寸步难行.然而,有一个可怕的事实客观存在,那就是IE8是Win7系 ...

  8. web前端页面优化——个人见解

    web前端页面优化,我们从JavaScript.css.html这3个方面说下,我的见解,希望大神们能有刚好优化方法,一起探讨. 一.  有关javascript方面 优化见解. 1. 首先举个例子: ...

  9. Web 前端页面性能监控指标

    Web 前端页面性能监控指标 性能监控 / 性能指标 / 性能优化 白屏时间计算 FCP 白屏时间:从浏览器输入地址并回车后到页面开始有内容的时间: 首屏时间计算 FMP 首屏时间:从浏览器输入地址并 ...

随机推荐

  1. luogu 4768

    kruskal 重构树对于一张无向图,我们在进行 kruskal 的过程中每当合并两个联通块时新建虚拟节点 t对于两个联通块的根节点 fau,fav 连无向边(fau, t),(fav, t) 其中点 ...

  2. [Luogu] 让我们异或吧

    https://www.luogu.org/problemnew/show/P2420 异或满足 A ^ B = B ^ A A ^ A = 0 0 ^ A = A #include <cstd ...

  3. LibreOJ #110. 乘法逆元

    二次联通门 : LibreOJ #110. 乘法逆元 /* LibreOJ #110. 乘法逆元 求一个数在模意义下的所有逆元 */ #include <cstdio> void read ...

  4. zabbix4.2升级后中文字体乱码解决方法.

    字体文件目录: zabbix 4.2 /usr/share/zabbix/assets/fonts/ 4.0 /usr/share/zabbix/fonts/ php 脚本文件位置: /usr/sha ...

  5. 内存管理4-Autoreleasepool

    自动释放池是OC里面的一种内存回收机制,一般可以将一些临时变量添加到自动释放池中,统一回收释放,当自动释放池销毁时,池里面的所有对象都会调用一次release,也就是计数器会减1,但是自动释放池被销毁 ...

  6. Git生成本机SSH Key并添加到GitHub中

    1.检查电脑里是否有SSH Key 打开git Bash客户端 cd ~/.ssh ls 如果有就会输出下面内容 config id_rsa id_rsa.pub known_hosts 2.创建 邮 ...

  7. 设置tomcat实现跨域

    1.tomcat下自带的cors过滤器 修改tomcat路径下conf/web.xml文件 <filter> <filter-name>CorsFilter</filte ...

  8. Js 之获取对象key值

    var date = Object.keys(data); Object.keys( ) 会返回一个数组,数组中是这个对象的key值列表 所以只要Object.keys(a)[0], 就可以得只包含一 ...

  9. [题解] [BZOJ4152] The Captain

    题面 题解 将所有点根据

  10. 为什么使用Spring Boot

    原文:https://dzone.com/articles/why-springboot 作者:Siva Prasad Reddy Katamreddy 译者:Oopsguy 本文将介绍各种 Spri ...