Ajax是2005年2月才誕生但是現在已經炙手可熱的一項全新技術.這項新技術能夠極大地改善網站的使用者體驗.
什麼是Ajax
Ajax是非同步Javascript和XML(Asynchronous JavaScript and XML)的英文縮寫.
Ajax的核心理念在於使用XMLHttpRequest對象發送非同步請求.Ajax並不是一門新的語言或技術,它實際上是幾項技術按一定的方式組合在一起,共同的協作中發揮各自的作用.
Ajax的優點
1.減輕伺服器的負擔.Ajax的原則是"按需取資料".
2.無需重新整理頁面,減少使用者心理和實際的等待時間.
3.帶來更好的使用者體驗.
4.可以把以前一些伺服器負擔的工作轉移到用戶端,利用用戶端閑置的能力來處理,減輕伺服器負擔,充分利用寬頻資源,節約空間和寬頻租用成本.
5.可以調用外部資料.
6.基於標準化的並被廣泛支援的技術,不需要下載外掛程式或者小程式.
7.進一步促進頁面呈現與資料分離.
二.XMLHttpRequest對象介紹
Ajax的一個最大的特點是無需重新整理頁面便可向伺服器傳輸或讀寫資料(又稱無重新整理更新頁面),這一特點主要得益於XMLHTTP組件XMLHttpRequest對象.
XMLHttpRequest屬性
XMLHttpRequest對象的屬性
屬性 |
描述 |
onreadystatechange |
每個狀態改變時都會觸發這個事件處理常式,通常會調用一個JavaScript函數 |
readyState |
請求的狀態 |
responseText |
伺服器的響應,表示為一個串 |
responseXML |
伺服器的響應,表示為XML,這個對象可以解析為一個DOM對象 |
status |
伺服器的HTTP狀態 |
statusText |
HTTP狀態的對應文本 |
每個狀態改變時都會觸發這個事件處理常式,通常會調用一個JavaScript函數
XMLHttpRequest方法
XMLHttpRequest對象的一些常用的方法
方法 |
描述 |
abort() |
停止當前請求 |
getAllResponseHeaders() |
把HTTP請求的所有相應首部作為鍵/值對返回 |
getResponseHeader("header") |
返回指定首部的串值 |
open("method","url") |
建立對伺服器的調用.method參數可以是GET,POST或PUT等;url參數可以是相對URL或絕對URL.這個方法還包括3個選擇性參數 |
send(content) |
向伺服器發送請求 |
setRequestHeader("header","value") |
把指定首部設定為所提供的值,在設定任何首部之前必須先調用open()方法 |