解决Ajax中文乱码问题

时间:2021-05-02

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

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"> 4<html xmlns="http://www.w3.org/1999/xhtml"> 5<head runat="server"> 6    <title>Untitled Page</title> 7 8    <script language="javascript" type="text/javascript" src="User.Base.js"></script> 910    <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            else22            {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>3435</head>36<body>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

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

  主页:http://jingtao.cnblogs.com

本文源自:翔宇亭——IT乐园(http://www.biye5u.com),转载请保留此信息!

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

相关文章