怎样解决Ajax中文乱码问题

时间:2021-04-16

js代码:

  得到XmlHttpRequest的类

  Code

 function HttpRequest()
 {
     //取得Request对象
     this.Request=function(){
         try
         {
            if(window.XMLHttpRequest) request=new XMLHttpRequest();
             if(!request)request=new ActiveXObject("Microsoft.XMLHTTP");
             if(!request)request=new ActiveXObject("Msxml2.XMLHTTP");
            return request;
        }
        catch(e)
        {
            alert("不支持XMLHTTPRequest");
        }}
}

  调用过程:

  Code

 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AjaxTest._Default"  %>
 
 <!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 runat="server">
     <title>Untitled Page</title>
      <script language="javascript" type="text/javascript" src="User.Base.js"></script>
     <script language="javascript" type="text/javascript">
    function Check()
    {
    var request=new HttpRequest().Request();
    request.onreadystatechange=function (){
        if(request.readyState==4)
        {
            if(request.status==200)
            {
                alert(request.responseText);
            }
            else
            {
                alert(request.responseText);
            }
        }
    }
    var value=document.getElementById("val").value;
    request.open("POST","Default.aspx?Value="+value,true);
    //设置防止乱码的方法,只要一句话就行
    request.setRequestHeader("Content-Type","text/html;charset=gb2312");
    request.send(null);
    }
    </script>

</head>
<body>
    <form id="form1" runat="server">
    <div>
        <input id="val" type="text" onblur="Check()" />
    </div>
    </form>
</body>
</html>


  后台取得输入值:

        protected void Page_Load(object sender, EventArgs e)
        {
            string value = Request["Value"];
        }

  测试过,可以得到正确的输入字符。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章