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)建快速動(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)頁頁面。



語法

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


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

開發(fā)模式

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


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


開發(fā)框架

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

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)