本文通过学习XMLHttpRequest创建Ajax,本文参考《Ajax入门经典》

(一)创建XmlHttpRequest.js。代码如下


/* (一)Ajax技术    (1)XMLHttpRequest    (2)隐藏框架    (3)隐藏的内联框架    (4)动态脚本加载    (5)预载图像和cookie  (二)XMLHttpRequest  (1)主要目的:用HTML和脚本来直接连接存储在服务器上的数据层  (2)好处:不必发送页面或刷新页面,因为地城数据的改变会立即反映在页面中。 (三) XMLHttpRequest异步用法 (1)创建XMLHttpRequest对象 (2)设置readystatechange事件触发一个指定的函数 (3)检查readySate属性,看数据是否准备就绪,如果还未准备就绪,就隔一段时间再检查。如果已经准备就绪,就继续执行下一步 (4)打开请求 (5)发送请求 */ //Create the XMLHttpRequest var xHRObject = false; if (window.XMLHttpRequest) {     xHRObject = new XMLHttpRequest(); //IE7,Firefox,Safari,Opera创建对象 } else if (window.ActiveXObject) { xHRObject = new ActiveXObject("Microsoft.XMLHTTP");//在IE5和IE6中创建 } function sendRequest(data) {  xHRObject.open("GET","display.aspx?value="+data,true);  xHRObject.onreadystatechange=getData;//触发一个指定的函数。readystatechangede事件的整个操作都是在后台执行。这样就能够异步使用XMLHttpRequest对象  xHRObject.send(null); } function getData() {     //Check to see if the XMLHttpRequest object is ready and whether it      //has returned a legitimate response     //readyState 0:未初始化 2:发送 3:正在接收 4:已加载     if (xHRObject.readyState == 4 && xHRObject.status == 200)//检查readySate属性,看数据是否准备就绪,如果还未准备就绪,就隔一段时间再检查。如果已经准备就绪,就继续执行下一步      {         var serverText=xHRObject.responseText;         if(serverText.indexOf('!'!=-1))         {            element=serverText.split('|');            document.getElementById(element[0]).innerHTML=element[1];         }             }   }


(二)创建display.htm页面、


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>     <title></title>     <script src="XmlHttpRequest.js" type="text/javascript"></script> </head> <body> <a href="#" onclick="sendRequest('Contacts');return false;">Contacts</a> <a href="#" onclick="sendRequest('Calendar');return false;">Calendar</a> <a href="#" onclick="sendRequest('Adverts');return false;">Adverts</a> <br/> <div id="box1"></div> <div id="box2"></div> <div id="box3"></div> </body> </html>


(三)创建display.aspx,隐藏代码如下


using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls;  namespace BeginAjax {     public partial class display : System.Web.UI.Page     {         protected void Page_Load(object sender, EventArgs e)         {             switch (Request["value"])             {                  case "Contacts":                     Response.Write("box1|<br><b>Contacts</b><br>joetao,Acacia Avenue<br> Joane Doe,2 Willow Tree Lane");                                        break;                 case "Calendar":                     string dt = DateTime.Now.ToString();                     Response.Write("box2|<br><b>Calendar:</b><br>"+dt);                       break;                 case "Adverts":                     Response.Write("box2|<br><b>Adverts:</b><br>" );                      break;              }         }     } }


(四)​​代码下载​