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