当前位置:编程学习 > C#/ASP.NET >>

AJAX 获取数据乱码,只想知道原因何在??


Index.aspx 页面



<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
<script language="javascript" type="text/javascript">
// 

var xmlhttp;

function Button1_onclick() 
{
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    xmlhttp.open("GET","http://localhost/WebApplication1/Index2.aspx",true);
    xmlhttp.onreadystatechange = stateChange;
    xmlhttp.send(null);
    
}

function stateChange()
{
    if(xmlhttp.readystate==4 && xmlhttp.status==200)
    {
        var data = xmlhttp.responseBody;
        document.getElementById("divMy").innerHTML = data;
    }
}

// ]]>
</script>
</head>
<body>
    <form id="form1" runat="server">
    <div id="divMy">
    
    </div>
    <div> 
        <input type="button" value="点击获取数据" id="Button1" onclick="return Button1_onclick()" /></div>
    </form>
</body>
</html>



Index2.aspx 页面

 protected void Page_Load(object sender, EventArgs e)
 {
       Response.Write("你好于娜");
       Response.End();
 }


----------------------


为什么AJAX获取的数据是乱码? 原因何在?  两张页面都是UTF-8编码格式输出的,为什么还有错???
--------------------编程问答-------------------- 你页面的编码是utf-8可发送编码是gb2312样,一句话发送编码与你的页面编码不一侄 --------------------编程问答-------------------- 绝对一致。
之所以错,是因为 responseBody 是流对象,不能直接写,需要转换 --------------------编程问答-------------------- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> --------------------编程问答-------------------- String 变量 = new String(request.getParameter("变量").getBytes("ISO-8859-1"),"UTF8");
System.out.println(变量);
--------------------编程问答-------------------- <globalization requestEncoding="gb2312" responseEncoding="gb2312"/>
把上面这句家到web.config里就行了 --------------------编程问答-------------------- 为什么不用responseText呢 --------------------编程问答-------------------- 今天起来又见此贴,问题还没有解决吗?
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,