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