onuninitialized和ajax,12.3 Prototype对Ajax的支持
12.3? Prototype對(duì)Ajax的支持
Prototype為Ajax開(kāi)發(fā)提供了有力的支持,其中主要包括Ajax.Request、Ajax.Response。下面將對(duì)這兩個(gè)核心支持進(jìn)行講解。
(1)Ajax.Request
Prototype是Ajax的核心,用于發(fā)送Ajax請(qǐng)求的相關(guān)操作,其原型為new Ajax.Request(url [ , options ] ),通用屬性options如表12-6所示。
表12-6? Prototype對(duì)Ajax通用屬性options的說(shuō)明
屬性名稱(chēng)
說(shuō)明
asynchronous
是否異步,默認(rèn)為true
contentType
傳遞數(shù)據(jù)的編碼格式,默認(rèn)為application
/x-www-form-urlencoded
encoding
申請(qǐng)數(shù)據(jù)的編碼,默認(rèn)為UTF-8
evalJS
如果返回為JS格式,是否自動(dòng)執(zhí)
行JS代碼,默認(rèn)為true
續(xù)表
屬性名稱(chēng)
說(shuō)明
evalJSON
返回JSON對(duì)象,并把對(duì)象保存在response
對(duì)象的responseJSON屬性中,返回的JSON文
件類(lèi)型為application/json,默認(rèn)為true
method
Get Post方式設(shè)定,默認(rèn)為post
parameters
申請(qǐng)時(shí)傳遞的參數(shù),可以為Hash或者url_encoded
字符串,如果是Hash,就調(diào)用Hash對(duì)象的
toQueryString()方法,轉(zhuǎn)成相應(yīng)的字符串
postBody
請(qǐng)求時(shí)傳遞的數(shù)據(jù)
requestHeaders
請(qǐng)求時(shí)的頭信息,***傳遞Hash形式的參數(shù),
默認(rèn)參數(shù)如下所示。
qX-Requested-With:XMLHttpRequest
qX-Prototype-Version:當(dāng)前使用的
qPrototype版本(如1.6.0)
qAccept:text/javascript、text/html、
qapplication/xml、text/xml、and */*
同時(shí)Ajax提出請(qǐng)求后,會(huì)在一定情況下觸發(fā)一些事件或者稱(chēng)為回調(diào)函數(shù),如表12-7所示。
表12-7? Ajax.Request相關(guān)事件說(shuō)明
事件名稱(chēng)
說(shuō)明
onCreate
對(duì)象被創(chuàng)建,請(qǐng)求準(zhǔn)備好發(fā)送
onUninitialized
創(chuàng)建時(shí)觸發(fā)
onLoading
初始化時(shí)觸發(fā)
onLoaded
請(qǐng)求發(fā)送時(shí)觸發(fā)
onInteractive
響應(yīng)收到時(shí)觸發(fā)
onFailure
接收到服務(wù)器響應(yīng),但HTTP狀態(tài)碼顯示回應(yīng)不正確
onSuccess
接收到服務(wù)器響應(yīng),但HTTP狀態(tài)碼顯示正確200~299
onXYZ
對(duì)接收到的特殊HTTP狀態(tài)碼進(jìn)行回應(yīng)
onComplete
服務(wù)器接收完畢后觸發(fā),通常在onFailure、
onSuccess、onXYZ 3個(gè)回調(diào)函數(shù)之后被觸發(fā)
onException
可以在請(qǐng)求的任何生命環(huán)節(jié)發(fā)生,如果發(fā)生一
些錯(cuò)誤,會(huì)激發(fā)該回調(diào),第二個(gè)參數(shù)是exception對(duì)象
(2)Ajax.Response
Request的相關(guān)回調(diào)除onException外***個(gè)參數(shù)都是Response對(duì)象。Response對(duì)象包含了Ajax返回對(duì)象,Response對(duì)象包括如表12-8所示屬性。
表12-8? Ajax.Response相關(guān)屬性說(shuō)明
屬性名稱(chēng)
說(shuō)明
status
返回的HTTP狀態(tài)碼
statusText
與status一起的狀態(tài)文本,如果沒(méi)有便為""
readyState
請(qǐng)求的當(dāng)前狀態(tài)。0為"Uninitialized",1為
"Loading",2為"Loaded",3為"Interactive"、
4為"Complete"
responseText
返回的文本
responseXML
返回的XML
續(xù)表
屬性名稱(chēng)
說(shuō)明
responseJSON
返回的JSON
headerJSON
Prototype 1.6的一個(gè)新屬性,包含對(duì)返回
對(duì)象中X-JSON頭信息的執(zhí)行。如果返回
沒(méi)有X-JSON頭信息,則返回null
request
請(qǐng)求對(duì)象本身
transport
本地XMLHttpRequest對(duì)象本身,通常
不使用,只是為了保證兼容性
Response對(duì)象還包含如表12-9所示的方法。
表12-9? Ajax.Response相關(guān)方法說(shuō)明
方法名稱(chēng)
說(shuō)明
getAllHeaders( )
返回相應(yīng)的所有頭信息,出現(xiàn)異常時(shí)返回null
getAllResponseHeaders( )
返回一個(gè)字符串包含所有標(biāo)題隔開(kāi)、
換行符。通常使用getAllHeaders
getHeader(name)
返回相應(yīng)的頭信息,出現(xiàn)異常時(shí)返回null
getResponseHeader(name)
返回相應(yīng)的頭信息,出現(xiàn)異常時(shí)返回
null。通常使用getHeader
除了Ajax.Request、Ajax.Response兩個(gè)核心支持外,還提供了用來(lái)根據(jù)返回的XHTML代碼更新相應(yīng)容器內(nèi)容的Ajax.Updater類(lèi)、用來(lái)定時(shí)發(fā)起請(qǐng)求的Ajax. PeriodicalUpdater類(lèi)、用于維護(hù)正在運(yùn)行的Ajax對(duì)象列表的Ajax.Responders。在此這些類(lèi)不再一一詳解,在后續(xù)章節(jié)中使用時(shí)再進(jìn)行講解。
Prototype對(duì)于Ajax的支持將通過(guò)12.4節(jié)的重建電子相冊(cè)進(jìn)行代碼演示。
點(diǎn)贊 0
總結(jié)
以上是生活随笔為你收集整理的onuninitialized和ajax,12.3 Prototype对Ajax的支持的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 戴尔服务器设置文件存储,DELL服务器R
- 下一篇: ajax webservice 参数类型