当前位置: 首页 > news >正文

js 获取 url 中的参数, 并保证获取到的参数不乱码

最近开发项目的时候,需要通过js获取url种的参数,网上有一个通用的获取参数的方法getQueryString(),但是其在获取中文参数的时候,存在获取到的值乱码的问题,研究了一下,原来是浏览器的问题。如果url中存在中文字符,浏览器会自动将url中的中文进行encodeURI编码,然后发送给浏览器。所以带有中文的真实访问的url其实是经过编码的url,所以直接获取会存在乱码的问题。
//网上比较经典的js获取url中的参数的方法

function getQueryString(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    var r = window.location.search.substr(1).match(reg);
    if ( r != null ){
        return unescape(r[2]);
    }else{
        return null;
    } 
}
复制代码

//但是在使用的过程中,发现其在获取中文参数的时候,获取到的值是乱码的
//解决办法:将解码方式unscape换为decodeURI
//原因:浏览器会将url中的中文参数进行encodeURI编码,所以要通过js使用decodeURI进行解码

相关文章:

  • sqlserver2005此数据库没有有效所有者,因此无法安装数据库关系图支持对象的解决方法...
  • JAVA 一个或多个空格分割字符串
  • Michael: 变革管理 应对挑战
  • 如何为你的微信小程序瘦身?
  • A卡于N卡的华山论剑
  • C语言 · 矩阵乘法
  • ”残酷“人生第一步
  • OVS local network 连通性分析 - 每天5分钟玩转 OpenStack(132)
  • 一个简单的图片查看器
  • JVM:查看java内存情况命令
  • 多线程编程(19) - 不使用同步工具, 手动协调线程依次执行
  • 软工实践总结
  • 《京韵大鼓——祭晴雯》(骆玉笙)(唱词文本)
  • FATAL ERROR: Could not find ./bin/my_print_defaults的解决办法
  • 第二热门语言:从入门到精通,Python数据科学简洁教程
  • 【技术性】Search知识
  • 【译】理解JavaScript:new 关键字
  • CSS3 变换
  • docker-consul
  • ES6系统学习----从Apollo Client看解构赋值
  • Intervention/image 图片处理扩展包的安装和使用
  • MQ框架的比较
  • Python实现BT种子转化为磁力链接【实战】
  • Python语法速览与机器学习开发环境搭建
  • React Transition Group -- Transition 组件
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • spring boot下thymeleaf全局静态变量配置
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 通过git安装npm私有模块
  • 我从编程教室毕业
  • 智能合约开发环境搭建及Hello World合约
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • # Maven错误Error executing Maven
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (一)python发送HTTP 请求的两种方式(get和post )
  • ../depcomp: line 571: exec: g++: not found
  • .“空心村”成因分析及解决对策122344
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET Project Open Day(2011.11.13)
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .net和php怎么连接,php和apache之间如何连接
  • .NET建议使用的大小写命名原则
  • :=
  • @31省区市高考时间表来了,祝考试成功
  • [<MySQL优化总结>]
  • [1]-基于图搜索的路径规划基础
  • [383] 赎金信 js
  • [ACTF2020 新生赛]Upload 1
  • [Android]使用Retrofit进行网络请求
  • [AutoSar]状态管理(五)Dcm与BswM、EcuM的复位实现