利用JS获取地址栏的中文参数,如何避免取到乱码?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用JS获取地址栏的中文参数,如何避免取到乱码?相关的知识,希望对你有一定的参考价值。
地址栏中为:localhost:22865/ZYHSYY.aspx?BQH=305&DoctorName=张三&DoctorId=100
我想利用JS获取到“张三”,请问该如何写js?目前我能取到DoctorName参数,但是得到的是乱码
这样js取值的时候会出现字符集的问题。
建议还是修改ASPX文件,取到值以后生成js时赋值给某个变量。 参考技术A 那不叫乱码,而是url编码,js本身就是读取url编码的
对于js获取url的中文你可以尝试用escape() encodeURI() encodeURIComponent() decodeURI()
来使js停止或者转换url编码本回答被提问者和网友采纳 参考技术B 将参数encode编码解码操作 参考技术C decodeURI() 用这个试试
js如何获取地址栏的参数
//获取参数的方法(利用正则表达式)
function GetUrlParam(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if(r!=null)return unescape(r[2]); return null; }
//如何使用
String url ="localhost:8080/Demo/index.html?id=123&name=lxy";
//注意在这里使用要确保地址有相对应的key才能获取到值
//获取id var id = GetUrlParam("id"); console.log("id="+id);//id=123
//获取name var name = GetUrlParam("name");
console.log("name="+name);//name=lxy
以上是关于利用JS获取地址栏的中文参数,如何避免取到乱码?的主要内容,如果未能解决你的问题,请参考以下文章