原生態的AJAX


 1     <script type= " text/javascript ">
 2          var xmlhttprequest;
 3         function GetXmlHttpRequest() {
 4              if (window.ActiveXObject) { 
 5                  try
 6                 {   
 7                      // 適用於IE5 IE6
 8                      xmlhttprequest= new ActiveXObject( " Microsoft.XMLHTTP ");
 9                 }
10                  catch(e) 
11                 {
12                      // 適用於IE7 以上版本
13                      xmlhttprequest= new ActiveXObject( " Msxml2.XMLHTTP ");
14                 }
15             }
16              if(window.XMLHttpRequest)
17             {      
18                     // 適用於所有的瀏覽器
19                     xmlhttprequest= new XMLHttpRequest();
20             }
21              else
22             {
23                 alert( " 對不起,您的瀏覽器不適用於AJAX ");
24             }
25         }
26 
27          //執行操作
28          function Operate() {   
29         {
30         
31              // 先獲取xmlhttprequest
32              GetXmlHttpRequest();
33 
34              // POST傳值
35 
36               // open方法(指定數據發送方式,處理頁面,是否異步)創建一個新的http請求,並指定此請求的方法、URL以及驗證等信息
37              xmlhttprequest.open( " POST "" DoOperate.ashx ", true);
38 
39              // setRequestHeader(header, value)方法單獨設定某個請求的HTTP頭信息
40              xmlhttprequest.setRequestHeader( " Content-Type ", " application/x-www-form-urlencoded ");
41 
42              // 狀態發生事件(onreadyStateChange事件是在readyState屬性發生改變時觸發)
43              xmlhttprequest.onreadystatechange=WatchChange;
44 
45              // 發送數據
46              xmlhttprequest.send( " id=1001&name=holyknihgt ");
47 
48              // GET傳值 【如果是POST傳值需要設定RequestHeader,而Get傳值不需要】
49               // xmlhttprequest.open("Get", "DoOperate.ashx",true);
50 
51               // xmlhttprequest.send(null);
52          }
53         
54          // 狀態監聽
55          function WatchChange()
56         {
57              // readyState
58               // 0:send方法還沒有被調用
59               // 1:已經調用了send方法,請求還在處理
60               // 2:send方法已完成 整個應答已接收   
61               // 3:正在解析應答
62               // 4:應答解析完成
63 
64               // status
65               // 200:表示交互成功
66               // 404:NOT Found
67               // 500:服務器內部錯誤
68               if(xmlhttprequest.readyState== 4 && xmlhttprequest.status== 200)
69             {
70                  // 或許響應值
71                   var result = xmlhttprequest.responseText;
72                  // 將響應值以‘,’分割
73                  result = result.split( ' , ');
74                  // 給id為resultMsg的控件賦值
75                  document.getElementById( " resultMsg ").innerHTML =  " ID: "+result[ 0]+ "   Name: "+result[ 1];
76             }
77         }
78     </script>
79 </head>
80 <body>
81     <form id= " form1 " runat= " server ">
82     <div>
83         <div id= " resultMsg "></div>
84         <input type= " button " value= " 調用AJAX " onclick= " Operate(); " />
85     </div>
86     </form>
87 </body>
88 </html>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM