解决Ajax中文乱码问题

2016-02-19 16:58 3 1 收藏

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐解决Ajax中文乱码问题,无聊中的都看过来。

【 tulaoshi.com - Web开发 】

网上有很多解决这个问题的方法,试了一下都不好用,自己就对于这些方法测试了一下,然后逐个排除无用的设置,最后得到了最简单的方案。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

js代码:
得到XmlHttpRequest的类
Code
1function HttpRequest()
2{
3 //取得Request对象
4 this.Request=function(){
5 try
6 {
7 if(window.XMLHttpRequest) request=new XMLHttpRequest();
8 if(!request)request=new ActiveXObject("Microsoft.XMLHTTP");
9 if(!request)request=new ActiveXObject("Msxml2.XMLHTTP");
10 return request;
11 }
12 catch(e)
13 {
14 alert("不支持XMLHTTPRequest");
15 }}
16}调用过程:
Code
1%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AjaxTest._Default" %
2
3!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
4html xmlns="http://www.w3.org/1999/xhtml"
5head runat="server"
6 titleUntitled Page /title
7
8 script language="javascript" type="text/javascript" src="User.Base.js"/script
9
10 script language="javascript" type="text/javascript"
11 function Check()
12 {
13 var request=new HttpRequest().Request();
14 request.onreadystatechange=function (){
15 if(request.readyState==4)
16 {
17 if(request.status==200)
18 {
19 alert(request.responseText);
20 }
21 else
22 {
23 alert(request.responseText);
24 }
25 }
26 }
27 var value=document.getElementById("val").value;
28 request.open("POST","Default.aspx?Value="+value,true);
29 //设置防止乱码的方法,只要一句话就行
30 request.setRequestHeader("Content-Type","text/html;charset=gb2312");
31 request.send(null);
32 }
33 /script
34
35/head
36body
37 form id="form1" runat="server"
38 div
39 input id="val" type="text" onblur="Check()" /
40 /div
41 /form
42/body
43/html
44后台取得输入值:
protected void Page_Load(object sender, EventArgs e)
{
string value = Request["Value"];
}
测试过,可以得到正确的输入字符。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

来源:https://www.tulaoshi.com/n/20160219/1613722.html

延伸阅读
标签: Web开发
在用ajax传递参数时,一般就是js向程序页面传递和程序向js文件传递两种情况,当出现中文汉字时,会出现乱码。 因为存在上述两种情况,所以解决起来也要分开对待。 这里是php系统中遇到的问题,所以以php为实例来解决ajax传递中文的问题。 1.Ajax向程序页面里传递中文汉字时出现乱码的情况:  Ajax中先用encodeURIComponent对要提交的...
标签: Web开发
下面是我的程序 HTML :  代码如下: !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" head title无标题页/title script type="text/javascript" language="javascript" var xmlhttp; function createXMLH...
标签: Web开发
AJAX的乱码的出现在的原因 由于XMLHTTP采用的是Unicode编码上传数据,而一般页面采用的是gb2312,这就造成显示页面时产生乱码。而当在获取页面时的XMLHttp返回的是utf-8编码,这就造成了显示产生乱码。 解决方法之一就是在PHP文件中显示声明为GB2312 header("Content-Type:text/html;charset=GB2312");  而对于发送到服务器的中文进行...
*MySQL(和PHP搭配之最佳组合)中文乱码的原因 MySQL(和PHP搭配之最佳组合)会出现中文乱码的原因不外乎下列几点: -MySQL(和PHP搭配之最佳组合) server本身设定问题,例如还停留在latin1 -MySQL(和PHP搭配之最佳组合) table的语系设定问题(包含character与collation) -客户端程式(例如php)的连线语系设定问题 ...
标签: Web开发
最近在做一个项目,遇到AJAX中文乱码问题,经过一个下午的努力终于完美解决,现将心得写下来,希望对那些还困绕在这个问题而头痛不已的人们有所帮助。 众所周知,使用AJAX传送和接收中文参数时,如果不在客户端和服务器做相应的处理就会出现乱码问题,在网上相应的文章也不少,但是有的情况下很难从中找到符合自己理想的答案,我今天就是在网...

经验教程

595

收藏

76
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部