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