首先要知道AJAX 是一種在無需重新加載整個網頁的情況下,能夠更新部分網頁的技術。
什么是 AJAX ?
AJAX = 異步 JavaScript 和 XML。
AJAX即“Asynchronous Javascript And XML”(異步JavaScript和XML),是指一種創建交互式網頁應用的網頁開發技術。AJAX 是一種用于創建快速動態網頁的技術。
通過在后臺與服務器進行少量數據交換,AJAX 可以使網頁實現異步更新。這意味著可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。
傳統的網頁(不使用 AJAX)如果需要更新內容,必需重載整個網頁面。
AJAX工作原理
AJAX請求
ajax請求是依靠XMLHttpRequest對象,因此在請求前先要創建其對象
var xmlhttp;//兼容性寫法創建請求實例,IE5 6支持else里面的方法if (window.XMLHttpRequest){xmlhttp = new XMLHttpRequest();}else {xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}
接著向服務器發送請求
open函數有三個參數,請求方式,請求地址,請求是異步還是同步
send(String)函數有一個參數,只有當請求方式為post的時候,String參數才需要帶上
那么GET和POST的區別呢?
與 POST 相比,GET 更簡單也更快,并且在大部分情況下都能用。
然而,在以下情況中,請使用 POST 請求:
無法使用緩存文件(更新服務器上的文件或數據庫)
向服務器發送大量數據(POST 沒有數據量限制)
發送包含未知字符的用戶輸入時,POST 比 GET 更穩定也更可靠
//設置傳送方式,地址,以及同步還是異步xmlhttp.open("GET","Test.jsp?value="+escape(value),true);xmlhttp.onreadystatechange = callback;//狀態改變的時候執行這個函數,用來判斷是否請求完畢xmlhttp.send();//請求服務器,如果使用post方式,則send里面要帶上傳遞的參數//post方式/**xmlhttp.open("POST","Test.jsp",true);xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xmlhttp.send("value="+value);*/
然后服務器端處理并返回,這個放在實例里面有具體代碼
在回調函數callback中設置對返回響應
onreadystatechange 存儲函數(或函數名),每當 readyState 屬性改變時,就會調用該函數。
readyState 存有 XMLHttpRequest 的狀態。從 0 到 4 發生變化。
0: 請求未初始化
1: 服務器連接已建立
2: 請求已接收
3: 請求處理中
4: 請求已完成,且響應已就緒
status 200: “OK”
404: 未找到頁面
相應服務器的類型
responseText 獲得字符串形式的響應數據。
responseXML 獲得 XML 形式的響應數據。 這個一般當open里面的url為xml文件的時候用
新聞熱點
疑難解答
圖片精選