不用AJAX框架实现AJAX效果
AJAX( Asynchronous JavaScript and XML),即:javascript和XML;
是一種進(jìn)行頁面局部異步處理數(shù)據(jù)的技術(shù),用AJAX向服務(wù)器發(fā)送請求和獲取服務(wù)器返回的數(shù)據(jù)并且更新到界面中,不是整個頁面的刷新,而是HTML頁面中使用JAVASCRIPT創(chuàng)建XMLHTTPRequest對象來向服務(wù)器發(fā)出請求以及獲得返回的數(shù)據(jù),就像WebClient一樣(向服務(wù)器發(fā)出請求,WebClient wc=new Webclient();??? string str=wc.DownLoadString("GetServerTime.ashx");????? $("#textbox1").val(s);?? ),在頁面中由XMLHTTPRequest來發(fā)布Http請求和獲得服務(wù)器的返回數(shù)據(jù);XMLHTTPRequest是AJAX的核心;
Example 1:
?
1、首先建立一個ashx頁面(一般處理程序),在該頁面中把當(dāng)前最新的時間用字符串的形式直接打印到頁面上;
?
??? ?
View Code 1 public void ProcessRequest(HttpContext context)2 {
3 context.Response.ContentType = "text/plain";
4 //context.Response.Write("Hello World");
5 context.Response.Write(DateTime.Now);
6 }
7
8 public bool IsReusable
9 {
10 get
11 {
12 return false;
13 }
14
15 }
?
2、在建立一個html頁面進(jìn)行測試
a、添加一個文本框
<input id="txtId" type="text" />
?
b、添加一個按鈕,當(dāng)按鈕按下的時候向服務(wù)器發(fā)出請求,將服務(wù)器返回的數(shù)據(jù)添加到上面的文本框中;
?
<input id="btnId" type="button" value="確定" οnclick="btnclick();" />?
c、不用任何的AJAX的框架完成ajax的請求;添加如下代碼:
????
View Code 1 <script type="text/javascript">2
3 function btnclick() {
4
5 //創(chuàng)建一個xmlhttp對象,相當(dāng)于WebClient
6 var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
7
8 if (!xmlHttp) {
9 alert("初始化XMLHTTP時異常!");
10 return false;
11 }
12
13 //準(zhǔn)備向服務(wù)器頁面 Handler1.ashx 發(fā)出 post 請求
14 xmlHttp.open("post", "Handler1.ashx?f=" + new Date, false); //為了避免緩存后面以當(dāng)前時間做變化實現(xiàn)數(shù)據(jù)的緩存現(xiàn)象
15 //注冊事件,用一個匿名的函數(shù)來響應(yīng)
16 xmlHttp.onreadystatechange = function() {
17
18 //readyState表示XMLHttpRequest對象的處理狀態(tài):
19 //0:XMLHttpRequest對象還沒有完成初始化。
20 //1:XMLHttpRequest對象開始發(fā)送請求。
21 //2:XMLHttpRequest對象的請求發(fā)送完成。
22 //3:XMLHttpRequest對象開始讀取服務(wù)器的響應(yīng)。
23 //4:XMLHttpRequest對象讀取服務(wù)器響應(yīng)結(jié)束
24 if (xmlHttp.readyState == 4) {
25 //如果狀態(tài)碼為200,表示成功;300表示重定向,400表示權(quán)限問題, 500表示錯誤;
26 if (xmlHttp.status == 200) {
27 //responseText屬性為服務(wù)器返回的文本
28 document.getElementById("txtId").value = xmlHttp.responseText;
29 }
30 else {
31 alert("AJAX服務(wù)器返回錯誤");
32 }
33 }
34 }
35 //向服務(wù)器發(fā)送請求
36 xmlHttp.send();
37 }
38 </script>
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/-ShiL/archive/2011/09/07/ShiL201109070214.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的不用AJAX框架实现AJAX效果的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BT.1120数据流解释
- 下一篇: Unknown column 'user