用AJAX传值参数是中文时可能会乱码

1、ajax代码

 1 function SelectSemesterBySchYear() {
 2                                     // alert(‘sssssss‘);
 3                                    var temp1 = document.getElementById("ctl00_ContentPlaceHolder1_Text_City").value;
 4                                    $.ajax({
 5                                        type: "get",
 7                                        url: "HospitalHandler.ashx?city=" + encodeURI(temp1),//要编码的地方
 8                                        success: function (strJson) {
 9                                            $("#ctl00_ContentPlaceHolder1_selectHospital").empty();
10                                            $("#ctl00_ContentPlaceHolder1_selectHospital").prop("disabled", false);
11                                            var dataArray = eval(strJson);
12                                            for (var i = 0; i < dataArray.length; i++) {
13                                                $("#ctl00_ContentPlaceHolder1_selectHospital").append("<option value=‘" + dataArray[i].H_ID + "‘>" + dataArray[i].H_Name + "</option>");
14                                            }
15                                        },
16                                        error: function (XmlHttpRequest, textStatus, errorThrown) {
17                                            alert(XmlHttpRequest.responseText);
18                                        }
19                                    });
20                                }

2,ashx页面接收

1   string city = context.Server.UrlDecode(context.Request["city"].ToString());

3、不管怎么,要给JS先编码,保证传值时候不会出现乱码。

时间: 2024-10-09 23:33:17

用AJAX传值参数是中文时可能会乱码的相关文章

AJAX在Post中文的时候乱码的解决方法

加上设置字符编码的方法: response.setHeader("charset","gb2312"); ******************************************** 看到的说明原文如下: 用AJAX来GET回一个页面时,RESPONSETEXT里面的中文多半会出现乱码,这是因为xmlhttp在处理返回的responseText的时候,是把resposeBody按UTF-8编码进解码考形成的,如果服务器送出的确实是UTF-8的数据流的时候

jquery 或ajax返回的中文数据总是乱码解决方案

要将Servlet中的 response.setContentType("text/html;charset=utf-8")这行代码放在 PrintWriter out = response.getWriter()之前. jquery 或ajax返回的中文数据总是乱码解决方案,布布扣,bubuko.com

利用jQuery 解决URL请求参数有中文时出现乱码的问题

利用jQuery 解决URL请求参数有中文时出现乱码的问题 在开发的时候经常会碰到URL中请求参数含有中文的情况,这时如果在前台不作处理,直接在后台利用request.getParameter()拿对应的参数值就会出现中文乱码. 这时可以先利用jQuery对对应中文进行encodeURI(),例子如下: 前台对应代码 <!--省畋无关代码--> <input type="button" id="submitA" value="重发短信&q

表单提交中文时出现乱码

下面是一个提交页面(submit.jsp),代码如下: <html> <head> <title>JSP的中文处理</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <body> <form name="form1" method=&quo

有效解决ajax传中文时,乱码的情况,php处理接收到的值

在抽奖环节时,需把获奖名单通过ajax的post方式传输给php后台进行储存,但是php接收到的值确是乱码.在百度之后并没有找到合适的解决方法. 则使用js的encodeURI函数可以有效解决,但不知为何需使用两次. 此时传输的值获取到的为: 则PHP使用urldecode函数处理获取到的值. 则有效解决ajax传输中文乱码的情况. 声明:本人菜鸟一枚,有不对之处还望指出. 原文地址:https://www.cnblogs.com/xin-1-php/p/10019558.html

IE浏览器 ajax传参数值为中文时出现乱码的解决方案

找了很多方法,发现就这个方法简单.直接.方便,直接推荐哦! 在汉字的位置加个保护措施:encodeURIComponent(parentid) 举个栗子>>> $.ajax({             url: 'url'+ encodeURIComponent("中文参数值"),              type: 'GET',              dataType: 'JSON',              timeout: 5000,          

C#中StreamReader读取中文时出现乱码问题总结

之前有一篇文章" C#读取及写入配置文件教程"(http://blog.csdn.net/lisenyang/article/details/47291083)当中有一个问题就是在读取配置文件时候中文出现乱码情况.这是为什么呢?原因是自Windows 2000之后的操作系统在文件处理时默认编码採用Unicode.所以.NET文件的默认编码也是Unicode.除非另外指定,StreamReader的默认编码为Unicode,而不是当前系统的ANSI代码页.可是文档大部分还是以ANSI编码

C# .net中cookie值为中文时的乱码解决方法

在学习当中碰到cookie中文乱码问题,问题原因:cookie对中文不太支持,将中文放入cookie中会报错误. 解决办法: 1.编码 将中文进行编码再放入cookie中: String username1 = URLEncoder.encode(username, "utf-8"); String userpwd1 = URLEncoder.encode(userpwd, "utf-8"); 其中username和userpwd其中有中文,username1和us

geany写C语言,printf打印中文时显示乱码

原因 geany设置了编码格式为utf8 运行时显示出的cmd窗口编码格式为GBK 解决方法 打开cmd窗口,使用" chcp 65001 " 命令,临时设置cmd窗口显示为utf编码格式,然后手工运行程序即可正常显示. 永久修改cmd窗口显示为utf8编码格式. 参考:windows系统修改cmd窗口utf-8编码格式 原文地址:https://www.cnblogs.com/sfriend/p/10806983.html