地址栏中文参数在页面中出现乱码问题

本文介绍了一种在项目中遇到的中文搜索问题解决方案。当在搜索框输入中文并跳转页面时,通过两次URI编码避免乱码,再解码还原中文,确保数据正确传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中碰到一个问题:

 在搜索框写入中文数据在发送请求时,同时跳转到另外一个page,把获取的中文数据写入input的value中。但是获取到中文的数据变成乱码 

<input  class="input_page" />

解决办法:

请求时,在获取到数据加入地址栏之前对中文进行俩次转码 当前页面执行转码

var url="跳转的页面";

var text=$(".input_page").val();

var t=encodeURI(encodeURI(text));

window.location.href=url+"?search="+t;

在跳转页面中截取需要的数据

//获取地址栏参数的方法
        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]); return null;
        }

     var t = getQueryString("search");

     var text = decodeURI(t);

  然后把获取的text写入页面input的value中就OK了!

已项目实践!!!

  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值