跳转链接,带中文参数乱码的问题

这个遇到的几率比较小,但还是记录一下

主要是当跳转链接时,要携带输入的中文参数后,要获取链接里的参数值,直接获取就会出现乱码

解决方案,在提交时中文部分使用encodeURI ()进行编码,注意这个方法要调用2次,

在需要获取时,对之前编码部分进行decodeURI()解码 ,这个方法调用一次就好。

适用于,2个html页面之间的跳转

<body>
	<input type="text" id="inp" value="热门"/>
	<button class="btn1">点击我1</button>
	<script>
		$(function() {
			console.log(location.href);
			var key1 = GetQueryString("val1");
			var key2 = decodeURI(GetQueryString("val2"))
				
			console.log(key1)  //ç­é¨
			console.log(key2)  //热门
				
					
			$(".btn1").on("click", function() {
				location.href = location.href+"?f=1&val1="+ $("#inp").val() +"&val2="+encodeURI(encodeURI($("#inp").val()));
					
			})
		})
		//获取地址栏参数的方法
		function GetQueryString(name) {
			var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
			var r = window.location.search.substr(1).match(reg);
			if(r != null) return unescape(r[2]);
				return null;
			}
	</script>
		
</body>

  

 

转载于:https://www.cnblogs.com/qqing/p/8463179.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值