一、什麼是ajax
ajax是一種非同步通訊技術。在ajax出現之前,客戶端與服務端之間直接通訊。引入ajax之後,客戶端與服務端加了乙個第三者--ajax。有了ajax之後,通過在後台與伺服器進行少量資料交換,可以達到在不重新整理整個頁面的情況下實現區域性重新整理。其原理如圖
二、xhr物件
ajax技術的核心是xmlhttprequest物件(簡稱xhr)。ie7+、firefox、opera、chrome和safari都支援原生的xhr物件,建立xhr物件可以這樣寫
var xhr = new xmlhttprequest();那如果要相容ie6、7又該怎麼寫
var xhr = new activexobject("msxml2,xmlhttp");因此相容寫法如下
1 if(window.activexobject) else三、xhr用法建立完xhr物件後,要呼叫open()方法建立請求,open()方法接受三個引數:
1.要傳送的請求的型別(如"get"、"post"等)
2.請求的url
3.表示是否非同步傳送請求的布林值(預設為true,表示非同步)
xhr.open("get","index.php",true);post()請求方法如下面**
xhr.open("get","index.php",true);這裡get方法傳輸的資料已經放到url中,可以將引數設定為null//post()方法必須在send()方法之前加上下面這段**
說明一點:url相對於執行**的當前頁面,也可以用絕對路徑
準備工作做好後,呼叫send()方法傳送請求,
xhr.send(null);
在呼叫send()方法後,請求就會被分派到伺服器,onreadychange捕獲請求的狀態碼,並進行檢測
onreadychange物件有個readystate屬性,該屬性的值表示當前的活動階段,其值有如下幾個:
0:未初始化。尚未呼叫open()方法
1:啟動。已經呼叫open()方法,但尚未呼叫send()方法
2:傳送。已經呼叫send()方法,但尚未接收到響應
3:接收。已經接受到部分響應資料
4:完成。已經接受到全部響應資料,並且可以在客戶端使用
我們只需判斷readystate的值是否為4就可以知道所有資料已經就緒。
1 xhr.onreadystatechange = function()else四、總結原生ajax的請求總結為一下六個步驟10 }
1.建立xhr物件
2.呼叫open()方法建立請求
3.呼叫send()方法傳送請求
4.onreadychange捕獲請求的狀態碼
5.判斷狀態嗎是否成功
6.呼叫ajax的responsetext屬性返回資料
DHCP的工作流程
1.dhcp 協議簡介 dhcp 全稱是 dynamic host configuration protocol 中文名為動態主機配置協議,它的前身是 bootp 它工作在 osi的應用層,是一種幫助計算機從指定的 dhcp 伺服器獲取它們的配置資訊的自舉協議。dhcp 使用客戶端 伺服器模式,請求...
Struts的工作流程
當actionservlet接受到乙個客戶請求時,將執行如下流程。流程 2 如果actionform例項不存在,就建立乙個actionform物件,把客戶提交的表單資料儲存到actionform物件中。3 根據配置資訊決定是否需要表單驗證。如果需要驗證,就呼叫actionform的validate ...
struts的工作流程!
已經開始接觸到框架了,今天是學習struts的第一天,感覺有點小暈!和周圍同學了解到以後工作可能會用的很少,哎!既然學了就好好搞懂吧!struts是一種組建,是實現web中一些 和結構的軟體。現在學的是struts1.2版本,struts是基於mvc的,有乙個actionservlet,客戶端的所以...