ajax定義

2018-09-02 18:29 更新

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)頁頁面。



語法

$.ajax({name:value, name:value, ... })


該參數(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ù)。

開發(fā)模式

許多重要的技術(shù)和AJAX開發(fā)模式可以從現(xiàn)有的知識中獲取。例如,在一個發(fā)送請求到服務(wù)端的應(yīng)用中,必須包含請求順序、優(yōu)先級、超時響應(yīng)、錯誤處理及回調(diào),其中許多元素已經(jīng)在Web服務(wù)中包含了。同時,隨著技術(shù)的成熟還會有許多地方需要改進,特別是UI部分的易用性。


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ù)集合了。


開發(fā)框架

隨著AJAX迅速地引人注目起來,我想開發(fā)人員對這種技術(shù)的期待也迅速地增加。就像任何新技術(shù),AJAX的興旺也需要一整個開發(fā)工具/編程語言及相關(guān)技術(shù)系統(tǒng)來支撐。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號