AJAX即“Asynchronous Javascript And XML”(異步JavaScript和XML),是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。
AJAX = 異步 JavaScript和XML(標(biāo)準(zhǔn)通用標(biāo)記語言的子集)。
AJAX 是一種用于創(chuàng)建快速動態(tài)網(wǎng)頁的技術(shù)。
通過在后臺與服務(wù)器進行少量數(shù)據(jù)交換,AJAX 可以使網(wǎng)頁實現(xiàn)異步更新。這意味著可以在不重新加載整個網(wǎng)頁的情況下,對網(wǎng)頁的某部分進行更新。
傳統(tǒng)的網(wǎng)頁(不使用 AJAX)如果需要更新內(nèi)容,必須重載整個網(wǎng)頁頁面。
該參數(shù)規(guī)定 AJAX 請求的一個或多個名稱/值對。
下面的表格中列出了可能的名稱/值:
名稱 | 值/描述 |
---|---|
async | 布爾值,表示請求是否異步處理。默認(rèn)是 true。 |
beforeSend(xhr) | 發(fā)送請求前運行的函數(shù)。 |
cache | 布爾值,表示瀏覽器是否緩存被請求頁面。默認(rèn)是 true。 |
complete(xhr,status) | 請求完成時運行的函數(shù)(在請求成功或失敗之后均調(diào)用,即在 success 和 error 函數(shù)之后)。 |
contentType | 發(fā)送數(shù)據(jù)到服務(wù)器時所使用的內(nèi)容類型。默認(rèn)是:"application/x-www-form-urlencoded"。 |
context | 為所有 AJAX 相關(guān)的回調(diào)函數(shù)規(guī)定 "this" 值。 |
data | 規(guī)定要發(fā)送到服務(wù)器的數(shù)據(jù)。 |
dataFilter(data,type) | 用于處理 XMLHttpRequest 原始響應(yīng)數(shù)據(jù)的函數(shù)。 |
dataType | 預(yù)期的服務(wù)器響應(yīng)的數(shù)據(jù)類型。 |
error(xhr,status,error) | 如果請求失敗要運行的函數(shù)。 |
global | 布爾值,規(guī)定是否為請求觸發(fā)全局 AJAX 事件處理程序。默認(rèn)是 true。 |
ifModified | 布爾值,規(guī)定是否僅在最后一次請求以來響應(yīng)發(fā)生改變時才請求成功。默認(rèn)是 false。 |
jsonp | 在一個 jsonp 中重寫回調(diào)函數(shù)的字符串。 |
jsonpCallback | 在一個 jsonp 中規(guī)定回調(diào)函數(shù)的名稱。 |
password | 規(guī)定在 HTTP 訪問認(rèn)證請求中使用的密碼。 |
processData | 布爾值,規(guī)定通過請求發(fā)送的數(shù)據(jù)是否轉(zhuǎn)換為查詢字符串。默認(rèn)是 true。 |
scriptCharset | 規(guī)定請求的字符集。 |
success(result,status,xhr) | 當(dāng)請求成功時運行的函數(shù)。 |
timeout | 設(shè)置本地的請求超時時間(以毫秒計)。 |
traditional | 布爾值,規(guī)定是否使用參數(shù)序列化的傳統(tǒng)樣式。 |
type | 規(guī)定請求的類型(GET 或 POST)。 |
url | 規(guī)定發(fā)送請求的 URL。默認(rèn)是當(dāng)前頁面。 |
username | 規(guī)定在 HTTP 訪問認(rèn)證請求中使用的用戶名。 |
xhr | 用于創(chuàng)建 XMLHttpRequest 對象的函數(shù)。 |
AJAX開發(fā)與傳統(tǒng)的C/S開發(fā)有很大的不同。這些不同引入了新的編程問題,最大的問題在于易用性。由于AJAX依賴瀏覽器的JavaScript和XML,瀏覽器的兼容性和支持的標(biāo)準(zhǔn)也變得和JavaScript的運行時性能一樣重要了。這些問題中的大部分來源于瀏覽器、服務(wù)器和技術(shù)的組合,因此必須理解如何才能最好的使用這些技術(shù)。
綜合各種變化的技術(shù)和強耦合的客戶服務(wù)端環(huán)境,AJAX提出了一種新的開發(fā)方式。AJAX開發(fā)人員必須理解傳統(tǒng)的MVC架構(gòu),這限制了應(yīng)用層次之間的邊界。同時,開發(fā)人員還需要考慮C/S環(huán)境的外部和使用AJAX技術(shù)來重定型MVC邊界。最重要的是,AJAX開發(fā)人員必須禁止以頁面集合的方式來考慮Web應(yīng)用而需要將其認(rèn)為是單個頁面。一旦UI設(shè)計與服務(wù)架構(gòu)之間的范圍被嚴(yán)格區(qū)分開來后,開發(fā)人員就需要更新和變化的技術(shù)集合了。
隨著AJAX迅速地引人注目起來,我想開發(fā)人員對這種技術(shù)的期待也迅速地增加。就像任何新技術(shù),AJAX的興旺也需要一整個開發(fā)工具/編程語言及相關(guān)技術(shù)系統(tǒng)來支撐。
更多建議: