发个包上来/Files/eicesoft/AJAX.zip完整的打包
测试页代码(test.htm)
1 /**
2 AJAX类库 0.9
3 @appellation AJAX Lib 0.9
4 @author 张怡冰
5 @date 2007-08-01
6 @copyright ShanghaiLongzhong
7 */
8 function AJAXLib()
9 {
10 /**
11 成员变量
12 */
13 this.XMLHttpReq = null; //XML对象
14 this.method = "post"; //执行的方法(post/get)
15 this.URLString = ""; //异步调用的页面地址
16 this.response = ""; //异步返回的响应字符串
17 this.responseXML = ""; //异步返回的响应XML
18 this.failed = false; //创建对象错误标志
19
20 /**
21 事件区
22 */
23 this.onLoading = function() { }; //正在发送请求
24 this.onLoaded = function() { }; //已经接收到全部响应内容
25 this.onInteractive = function() { }; //正在解析响应内容
26 this.onCompletion = function() { }; //响应内容解析完成
27 this.onError = function() { }; //异步错误处理事件
28 this.onFail = function() { }; //创建对象失败处理世界
29
30 /**
31 重置所有事件函数
32 */
33 this.resetFunctions = function() {
34 this.onLoading = function() { };
35 this.onLoaded = function() { };
36 this.onInteractive = function() { };
37 this.onCompletion = function() { };
38 this.onError = function() { };
39 this.onFail = function() { };
40 };
41
42 /**
43 初始化函数(构造时自动初始化)
44 */
45 this.Init = function()
46 {
47 //对于Mozilla浏览器
48 if(window.XMLHttpRequest)
49 {
50 //直接使用XMLHttpRequest函数来创建XMLHttpRequest对象
51 this.XMLHttpReq = new XMLHttpRequest();
52 }
53 //对于IE浏览器
54 else if (window.ActiveXObject)
55 {
56 //使用AcitveXObject函数创建浏览器
57 try
58 {
59 this.XMLHttpReq = new ActiveXObject("Msxml4.XMLHTTP");
60 }
61 catch(e)
62 {
63 try
64 {
65 this.XMLHttpReq = new ActiveXObject("Msxml3.XMLHTTP");
66 }
67 catch(e)
68 {
69 try
70 {
71 this.XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
72 }
73 catch(e)
74 {
75 try
76 {
77 this.XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
78 }
79 catch(oc)
80 {
81 this.failed=true; //创建AJAX对象发生异常
82 }
83 }
84 }
85 }
86 }
87 };
88
89 /**
90 发送请求函数
91 @param data 发送的数据
92 @example send("id=1");
93 */
94 this.Send=function(data)
95 {
96 var self=this;
97 //通过open方法取得与服务器的连接
98 if(this.method=="post")
99 {
100 this.XMLHttpReq.open(self.method,self.URLString,true);
101 }
102 else
103 {
104 this.XMLHttpReq.open(self.method,self.URLString+"?"+encodeURI(data),true);
105 }
106 //添加消息响应头
107 this.XMLHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
108
109 //异步回调函数
110 this.XMLHttpReq.onreadystatechange = function()
111 {
112 //对象未创建
113 if (self.failed) {
114 self.onFail();
115 return;
116 }
117
118 //消息响应标志
119 switch (self.XMLHttpReq.readyState) {
120 case 1:
121 {
122 self.onLoading();
123 break;
124 }
125 case 2:
126 {
127 self.onLoaded();
128 break;
129 }
130 case 3:
131 {
132 self.onInteractive();
133 break;
134 }
135 case 4:
136 {
137 if(self.XMLHttpReq.status==200) {
138 self.response = self.XMLHttpReq.responseText;
139 self.responseXML = self.XMLHttpReq.responseXML;
140 self.onCompletion();
141 }
142 else
143 {
144 self.onError(); //执行错误函数
145 }
146 break;
147 }
148 }
149 };
150 if(this.method=="post")
151 {
152 this.XMLHttpReq.send(encodeURI(data)); //发送请求
153 }
154 else
155 {
156 this.XMLHttpReq.send(); //发送请求
157 }
158 };
159
160 this.Abort=function()
161 {
162 this.XMLHttpReq.abort();
163 }
164
165 this.Close=function()
166 {
167 this.XMLHttpReq=null;
168 }
169 //初始化AJAX库
170 this.Init();
171 }
2 AJAX类库 0.9
3 @appellation AJAX Lib 0.9
4 @author 张怡冰
5 @date 2007-08-01
6 @copyright ShanghaiLongzhong
7 */
8 function AJAXLib()
9 {
10 /**
11 成员变量
12 */
13 this.XMLHttpReq = null; //XML对象
14 this.method = "post"; //执行的方法(post/get)
15 this.URLString = ""; //异步调用的页面地址
16 this.response = ""; //异步返回的响应字符串
17 this.responseXML = ""; //异步返回的响应XML
18 this.failed = false; //创建对象错误标志
19
20 /**
21 事件区
22 */
23 this.onLoading = function() { }; //正在发送请求
24 this.onLoaded = function() { }; //已经接收到全部响应内容
25 this.onInteractive = function() { }; //正在解析响应内容
26 this.onCompletion = function() { }; //响应内容解析完成
27 this.onError = function() { }; //异步错误处理事件
28 this.onFail = function() { }; //创建对象失败处理世界
29
30 /**
31 重置所有事件函数
32 */
33 this.resetFunctions = function() {
34 this.onLoading = function() { };
35 this.onLoaded = function() { };
36 this.onInteractive = function() { };
37 this.onCompletion = function() { };
38 this.onError = function() { };
39 this.onFail = function() { };
40 };
41
42 /**
43 初始化函数(构造时自动初始化)
44 */
45 this.Init = function()
46 {
47 //对于Mozilla浏览器
48 if(window.XMLHttpRequest)
49 {
50 //直接使用XMLHttpRequest函数来创建XMLHttpRequest对象
51 this.XMLHttpReq = new XMLHttpRequest();
52 }
53 //对于IE浏览器
54 else if (window.ActiveXObject)
55 {
56 //使用AcitveXObject函数创建浏览器
57 try
58 {
59 this.XMLHttpReq = new ActiveXObject("Msxml4.XMLHTTP");
60 }
61 catch(e)
62 {
63 try
64 {
65 this.XMLHttpReq = new ActiveXObject("Msxml3.XMLHTTP");
66 }
67 catch(e)
68 {
69 try
70 {
71 this.XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
72 }
73 catch(e)
74 {
75 try
76 {
77 this.XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
78 }
79 catch(oc)
80 {
81 this.failed=true; //创建AJAX对象发生异常
82 }
83 }
84 }
85 }
86 }
87 };
88
89 /**
90 发送请求函数
91 @param data 发送的数据
92 @example send("id=1");
93 */
94 this.Send=function(data)
95 {
96 var self=this;
97 //通过open方法取得与服务器的连接
98 if(this.method=="post")
99 {
100 this.XMLHttpReq.open(self.method,self.URLString,true);
101 }
102 else
103 {
104 this.XMLHttpReq.open(self.method,self.URLString+"?"+encodeURI(data),true);
105 }
106 //添加消息响应头
107 this.XMLHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
108
109 //异步回调函数
110 this.XMLHttpReq.onreadystatechange = function()
111 {
112 //对象未创建
113 if (self.failed) {
114 self.onFail();
115 return;
116 }
117
118 //消息响应标志
119 switch (self.XMLHttpReq.readyState) {
120 case 1:
121 {
122 self.onLoading();
123 break;
124 }
125 case 2:
126 {
127 self.onLoaded();
128 break;
129 }
130 case 3:
131 {
132 self.onInteractive();
133 break;
134 }
135 case 4:
136 {
137 if(self.XMLHttpReq.status==200) {
138 self.response = self.XMLHttpReq.responseText;
139 self.responseXML = self.XMLHttpReq.responseXML;
140 self.onCompletion();
141 }
142 else
143 {
144 self.onError(); //执行错误函数
145 }
146 break;
147 }
148 }
149 };
150 if(this.method=="post")
151 {
152 this.XMLHttpReq.send(encodeURI(data)); //发送请求
153 }
154 else
155 {
156 this.XMLHttpReq.send(); //发送请求
157 }
158 };
159
160 this.Abort=function()
161 {
162 this.XMLHttpReq.abort();
163 }
164
165 this.Close=function()
166 {
167 this.XMLHttpReq=null;
168 }
169 //初始化AJAX库
170 this.Init();
171 }
测试页代码(test.htm)
1 <html>
2 <head>
3 <script language="javascript" src="AJAXLib.js"></script>
4 <script language="javascript">
5 var st=new AJAXLib();
6 st.URLString="a.aspx";
7 //st.method="post"
8 st.onCompletion=function()
9 {
10 alert(st.response);
11 }
12 st.onLoading=function()
13 {
14 alert("onLoading");
15 }
16 st.onLoaded=function()
17 {
18 alert("onLoaded");
19 }
20 st.onInteractive=function()
21 {
22 alert("onInteractive");
23 }
24 st.Send("id=1&name=张怡冰");
25 </script>
26 </head>
27 <body>
28
29 </body>
30 </html>
2 <head>
3 <script language="javascript" src="AJAXLib.js"></script>
4 <script language="javascript">
5 var st=new AJAXLib();
6 st.URLString="a.aspx";
7 //st.method="post"
8 st.onCompletion=function()
9 {
10 alert(st.response);
11 }
12 st.onLoading=function()
13 {
14 alert("onLoading");
15 }
16 st.onLoaded=function()
17 {
18 alert("onLoaded");
19 }
20 st.onInteractive=function()
21 {
22 alert("onInteractive");
23 }
24 st.Send("id=1&name=张怡冰");
25 </script>
26 </head>
27 <body>
28
29 </body>
30 </html>
服务器端代码(a.asp)
1 <%
2 Dim id1,name1
3 id1=Request.QueryString("id")
4 name1=Request.QueryString("name")
5 Response.Write("你好:"+name1+"你的ID是"+id1)
6 %>
2 Dim id1,name1
3 id1=Request.QueryString("id")
4 name1=Request.QueryString("name")
5 Response.Write("你好:"+name1+"你的ID是"+id1)
6 %>