ajax中文传参乱码问题,ajax传递中文参数,乱码的解决方法

该博客详细介绍了在前端使用Ajax传递包含中文参数时出现乱码的问题及其解决方案。通过在URL中对中文参数进行两次`encodeURI`编码,确保在服务器端接收到请求时能正确解码为UTF-8格式,避免了中文乱码的出现。同时,文章提供了前后端的代码示例,帮助开发者理解并应用这一解决方法。

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

ajax传递中文参数,乱码的解决办法

在前台页面编码两次:

url=encodeURI(url);

url=encodeURI(url);

举个例子

usid为要传递到servlet的中文参数

var usid = encodeURI(sid);//uri编码

usid=encodeURI(usid);//再次uri编码

var url = "selectNameServlet?sid=" +usid;//合并构造url

if (window.XMLHttpRequest) {

req = new XMLHttpRequest();

} else if (window.ActiveXObject) {

req = new ActiveXObject("Microsoft.XMLHTTP");

}

if (req) {

req.open("GET", url, true);

req.onreadystatechange = complete;

req.send(null);

}

else

{

alert("fail to create request");

}

}

在服务器端对中文参数解码:

String sid = request.getParameter("sid");

String usid = URLDecoder.decode(sid, "utf-8");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值