网上有很多解决这个问题的方法,试了一下都不好用,自己就对于这些方法测试了一下,然后逐个排除无用的设置,最后得到了最简单的方案。
放在首页是因为个人觉得网上许多方案巨麻烦,而且不好用。只是一个小经验,大家分享,用不了多少时间就可以看完,免得以后要解决这个问题时从网上找浪费大家宝贵的时间。
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}
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
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"];
}
{
string value = Request["Value"];
}
测试过,可以得到正确的输入字符。
原创文章,转载请注明出处!
All CopyRight Reserved !
主页:http://jingtao.cnblogs.com
QQ:307073463
Email:jingtaodeemail@qq.com
MSN:sunjingtao@live.com