在傳統(tǒng)的 JavaScript 編程中,假如您希望從服務(wù)器上的文件或數(shù)據(jù)庫(kù)中得到任何的信息,或者向服務(wù)器發(fā)送信息的話(huà),就必須利用一個(gè) HTML 表單向服務(wù)器 GET 或 POST 數(shù)據(jù)。而用戶(hù)則需要單擊“提交”按鈕來(lái)發(fā)送/獲取信息,等待服務(wù)器的響應(yīng),然后一張新的頁(yè)面會(huì)加載結(jié)果。
由于每當(dāng)用戶(hù)提交輸入后服務(wù)器都會(huì)返回一張新的頁(yè)面,傳統(tǒng)的 web 應(yīng)用程序變得運(yùn)行緩慢,且越來(lái)越不友好。
通過(guò)利用 AJAX,您的 JavaScript 會(huì)通過(guò) JavaScript 的 XMLHttpRequest 對(duì)象,直接與服務(wù)器來(lái)通信。
通過(guò)使用 HTTP 請(qǐng)求,web 頁(yè)可向服務(wù)器進(jìn)行請(qǐng)求,并得到來(lái)自服務(wù)器的響應(yīng),而不加載頁(yè)面。用戶(hù)可以停留在同一個(gè)頁(yè)面,他或她不會(huì)注意到腳本在后臺(tái)請(qǐng)求過(guò)頁(yè)面,或向服務(wù)器發(fā)送過(guò)數(shù)據(jù)。
通過(guò)使用 XMLHttpRequest 對(duì)象,web 開(kāi)發(fā)者可以做到在頁(yè)面已加載后從服務(wù)器更新頁(yè)面!
在 2005 年 AJAX 被 Google 推廣開(kāi)來(lái)(Google Suggest)。
Google 建議使用 XMLHttpRequest 對(duì)象來(lái)創(chuàng)建一種動(dòng)態(tài)性極強(qiáng)的 web 界面:當(dāng)您開(kāi)始在 Google 的搜索框中輸入查詢(xún)時(shí),JavaScript 會(huì)向某個(gè)服務(wù)器發(fā)出這些字詞,然后服務(wù)器會(huì)返回一系列的搜索建議。
XMLHttpRequest 對(duì)象得到下列瀏覽器的支持:Internet Explorer 5.0+、Safari 1.2、Mozilla 1.0 / Firefox、Opera 8+ 以及 Netscape 7。