首 页IT知识库翔宇问吧收藏本站
当前位置:翔宇亭IT乐园IT知识库WEBAjax

解决Ajax中文乱码问题

减小字体 增大字体 作者:不详  来源:转载  发布时间:2010-10-03 08:41:55

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

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>
 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>
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

  后台取得输入值:

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

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

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


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

Tags:Ajax js

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

用户名: 查看更多评论

分 值:100分 90分 80分 70分 60分 40分 20分

内 容:

请注意用语文明且合法,不要发布带有攻击性、侮辱性的言论,谢谢合作!

验证码:

关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图 | 用户守则 | 联系我们
本站部分内容来自互联网,如有侵权,请来信告之,谢谢!
Copyright © 2007-2019 biye5u.com. All Rights Reserved.
网站备案号:黑ICP备13005378号-3