1<%@ page language=”c#” codebehind=”$filename$.cs” autoeventwireup=”false” inherits=”$inherits$” %>
2<!doctype html public “-//w3c//dtd html 4.0 transitional//en” >
3
4<html>
5 <head>
6 <title>ajax_exam1</title>
7 <meta name=”generator” content=”microsoft visual studio .net 7.1″>
8 <meta name=”code_language” content=”c#”>
9 <meta name=vs_defaultclientscript content=”javascript”>
10 <meta name=vs_targetschema content=”http://schemas.microsoft.com/intellisense/ie5″>
11 <meta http-equiv=”content-type” content=”text/html charset=big5 “/>
12 <script language=javascript>
13
14 var ajax;
15 function createajax()
16 {
17 if(window.activexobject)
18 {
19 try
20 {
21 return new activexobject(“msxml2.xmlhttp”);
22 }
23 catch(e)
24 {
25 try
26 {
27 return new activexobject(“microsoft.xmlhttp”);
28 }
29 catch(e2)
30 {
31 return null;
32 }
33 }
34 }
35 else if(window.xmlhttprequest)
36 {
37 return new xmlhttprequest();
38 }
39 else
40 {
41 return null;
42 }
43 }
44
45 function onrcvdata()
46 {
47 if(ajax.readystate == 4)
48 {
49 if(ajax.status == 200)
50 {
51 var content = document.getelementbyid(content);
52 content.innerhtml = ajax.responsetext;
53 }
54 else
55 {
56 alert(error from server !);
57 }
58 }
59 }
60
61 function ajaxsendrequest(url)
62 {
63 ajax = createajax();
64 if(!ajax)
65 {
66 alert(explorer is unsupport !);
67 return 0;
68 }
69
70 ajax.onreadystatechange = onrcvdata;
71 ajax.open(“get”,url,true);
72 ajax.send(“”);
73 }
74
75
76 </script>
77 </head>
78 <body ms_positioning=”gridlayout”>
79
80 <div id=”content”></div>
81 <br>
82 <input type=”button” value=”search” onclick=”ajaxsendrequest(http://www.baidu.com)”>
83
84 </body>
85</html>
86
請看上面一個簡單的例子,通過他,我們能夠初步認識ajax架構的工作模式!本例子,只包含了一個div標籤,用來顯示最後的結果,以及一個”查詢”button.整個執行流程如下:
ajax的精神在於非同步傳輸,所以,在ajax發出清球后,並不會待server的回應,而必須指定一個特定的對象讓xmlhttprequest在接收到server的回應的時候通知javascript.這個負責通知的onreadystatechange.