全面剖析XMLHttpRequest對象CSS-Script_第1頁
全面剖析XMLHttpRequest對象CSS-Script_第2頁
全面剖析XMLHttpRequest對象CSS-Script_第3頁
全面剖析XMLHttpRequest對象CSS-Script_第4頁
全面剖析XMLHttpRequest對象CSS-Script_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

hod參數(shù)是必須提供的-用于指定你想用來發(fā)送請求的HTTP方法(GEThod參數(shù)是必須提供的-用于指定你想用來發(fā)送請求的HTTP方法(GET,POST,PUT,DELET()方法在通過調(diào)用open()方法準(zhǔn)備好一個(gè)請求之后,你需要把該請求發(fā)送到服務(wù)器。僅當(dāng)readySt要,只要該頁面能夠返回一個(gè)響應(yīng)-指示CatalogID值是否是有效的-即可。因?yàn)槟阍谧饕粋€(gè)異步調(diào)用,ID的表單域可能按下列形式指定:前面的HTML使用validationMessagediv來顯示相應(yīng)的數(shù)據(jù)交互過程。這一技術(shù)的優(yōu)點(diǎn)在于,它向開發(fā)者提供了一種從Web服務(wù)器檢索數(shù)據(jù)而不必把用戶當(dāng)前正在觀察的頁面回饋給服務(wù)器。與現(xiàn)代瀏覽器的通過存取瀏覽器DOM結(jié)構(gòu)更新被顯示的HTML內(nèi)容而不必刷新頁面。換句話說,AJAX可以使基于瀏覽器的應(yīng)用程序更具交互性而且更類似傳統(tǒng)型桌面應(yīng)用程序。AJAX利用一個(gè)構(gòu)建到所有現(xiàn)代瀏覽器內(nèi)部的對象-XMLHttpRequest-來實(shí)現(xiàn)發(fā)送和接收HTTP請求與響應(yīng)信息。一個(gè)經(jīng)由XMLHttpRequest對象發(fā)送的HTTP請求并不要求頁是,你可以選擇發(fā)送同步請求,這將會暫停其它Web頁面的處理,直到該頁面接收到服務(wù)器的響應(yīng)為止。對象。其他的認(rèn)識到這一對象重要性的瀏覽器制造商也都紛紛在他們的瀏覽器內(nèi)實(shí)現(xiàn)了現(xiàn)。而如今,在認(rèn)識到實(shí)現(xiàn)這一類型的價(jià)值及安全性特征之后,微軟已經(jīng)在其IE7中把式)細(xì)節(jié)不同,但是,所有的瀏覽器實(shí)現(xiàn)都具有類似的功能,并且實(shí)質(zhì)上是相同方法。目前,W3C組織正在努力進(jìn)行XMLHttpRequest對象的標(biāo)準(zhǔn)化,并且已經(jīng)發(fā)行了有關(guān)該W3C規(guī)X的一個(gè)草案。本文將對XMLHttpRequest對象API進(jìn)行詳細(xì)討論,并將解釋其所有的屬性和方法。二、XMLHttpRequest對象的屬性和事件XMLHttpRequest對象暴露各種屬性、方法和事件以便于腳本處理和控制HTTP請求與當(dāng)XMLHttpRequest對象把一個(gè)HTTP請求發(fā)送到服務(wù)器時(shí)將經(jīng)歷若干種狀態(tài):一直等待直到請求被處理;然后,它才接收一個(gè)響應(yīng)。這樣以來,腳本才正確響應(yīng)各種狀態(tài)取值描述有時(shí),在填充表單的其它內(nèi)容之前要求校驗(yàn)一個(gè)唯一的表單域。例如要求使用一個(gè)唯一的UserID來注冊表單于window.document.baseURI有時(shí),在填充表單的其它內(nèi)容之前要求校驗(yàn)一個(gè)唯一的表單域。例如要求使用一個(gè)唯一的UserID來注冊表單于window.document.baseURI屬性,該uri被解析為一個(gè)絕對的URI-換句話說,你值改變時(shí)調(diào)用。記住,readyState值的改變將會激發(fā)一個(gè)readystatechange事件。你對象把readyState的值設(shè)置為2(發(fā)送)。當(dāng)服務(wù)器響應(yīng)時(shí),在接收消息體之前,如果存在任何消息體01234描述一種"未初始化"狀態(tài);此時(shí),已經(jīng)創(chuàng)建一個(gè)XMLHttpRequest對象,但是還沒有初始化。方法并且XMLHttpRequest已經(jīng)準(zhǔn)備好把一個(gè)請求發(fā)送到服務(wù)器。服務(wù)器端,但是還沒有收到一個(gè)響應(yīng)。描述一種"正在接收"狀態(tài);此時(shí),已經(jīng)接收到HTTP響應(yīng)頭部信息,但是消息體部分還沒有完全接收結(jié)束。包含完整的響應(yīng)信息。如果文檔不能被分析(例如,如果文檔不是良構(gòu)的或不支持文檔相應(yīng)的字符編碼),那么atechange注冊的事件處理器。因此,在處理該響應(yīng)之前,你的事件處理器應(yīng)該首先檢查readyStication/xml或以+xml結(jié)尾。如果Content-Type頭部并不包含這些媒體類型之一,那創(chuàng)建一個(gè)XMLHttpRequest對象的過程因?yàn)g覽器實(shí)現(xiàn)的不同而有所區(qū)別。如果瀏覽器支持XMLHtatechange注冊的事件處理器。因此,在處理該響應(yīng)之前,你的事件處理器應(yīng)該首先檢查readyStication/xml或以+xml結(jié)尾。如果Content-Type頭部并不包含這些媒體類型之一,那創(chuàng)建一個(gè)XMLHttpRequest對象的過程因?yàn)g覽器實(shí)現(xiàn)的不同而有所區(qū)別。如果瀏覽器支持XMLHt)方法發(fā)送該請求。因?yàn)檫@個(gè)請求使用的是HTTPGET方法,所以,你可以在不指定參數(shù)或使用null參數(shù)從而把該對象復(fù)位到未初始化狀態(tài)。參數(shù)是必須提供的-用于指定你想用來發(fā)送請求的HTTP方法(GET,POST,PUT,DELETE或HEAD)。為了把數(shù)據(jù)發(fā)送到服務(wù)器,應(yīng)該使用POST方法;為了從服務(wù)器端檢索數(shù)據(jù),句話說,你可以使用相對的URI-它將使用與瀏覽器解析相對的URI一樣的方式被解析。在通過調(diào)用open()方法準(zhǔn)備好一個(gè)請求之后,你需要把該請求發(fā)送到服務(wù)器。僅當(dāng)send()方法立即返回,從而允許其它客戶端腳本處理繼續(xù)。在調(diào)用send()方法后,并通過POST方法把數(shù)據(jù)發(fā)送到服務(wù)器。另外,你可以顯式地使用null參數(shù)調(diào)用send()方該使用setRequestHeader()方法(見后面的解釋)先設(shè)置Content-Type頭部。如果在端進(jìn)行處理的指令。另外,該XML字符串必須有一個(gè)根元素?!咀⒁狻縓MLHttpRequest對象的設(shè)端進(jìn)行處理的指令。另外,該XML字符串必須有一個(gè)根元素。【注意】XMLHttpRequest對象的設(shè)對象把readyState的值設(shè)置為2(發(fā)送)。當(dāng)服務(wù)器響應(yīng)時(shí),在接收消息體之前,如果存在任何消息體idationMessagediv中的HTML內(nèi)容并借助于innerHTML屬性,你可以測試該元素值7中把XMLHttpRequest實(shí)現(xiàn)為一個(gè)窗口對象屬性。幸運(yùn)的是,盡管其實(shí)現(xiàn)(因而也影響到調(diào)用方式該方法返回一個(gè)空字符串。在AJAX中,許多使用XMLHttpRequest的請求都是從一個(gè)HTML事件(例如一個(gè)調(diào)用表單域。例如要求使用一個(gè)唯一的UserID來注冊表單。如果不是使用AJAX技術(shù)來校驗(yàn)這個(gè)UserID域,那么整個(gè)表單都必須被填充和提交。如果該UserID不是有效的,這個(gè)表單單域可能按下列形式指定:><數(shù)創(chuàng)建一個(gè)XMLHttpRequest對象。創(chuàng)建一個(gè)XMLHttpRequest對象的過程因?yàn)g覽器實(shí)現(xiàn)的不同而有所區(qū)別。如果瀏覽器支持XMLHttpRequest對象作為一個(gè)窗口屬性(所有普通的數(shù),它負(fù)責(zé)檢查并決定要使用的適當(dāng)?shù)膭?chuàng)建方法-在創(chuàng)建和返回對象之前。時(shí),它把readyState設(shè)置為4(已加載時(shí),它把readyState設(shè)置為4(已加載)。對于一個(gè)HEAD類型的請求,它將在把readySta頁面接收到服務(wù)器的響應(yīng)為止。微軟在其InternetExplorer(IE)5中作為一個(gè)ActiveResponseHeaders()方法以一個(gè)字符串形式返回所有的響應(yīng)頭部(每一個(gè)頭部占單獨(dú)的一行)。E或HEAD)。為了把數(shù)據(jù)發(fā)送到服務(wù)器,應(yīng)該使用POST方法;為了從服務(wù)器端檢索數(shù)據(jù),應(yīng)該使用GET}}}用的服務(wù)器URL。默認(rèn)情況下,使用XMLHttpRequest發(fā)送的HTTP請求是異步進(jìn)行的,但是你可以顯是有效的-即可。因?yàn)槟阍谧饕粋€(gè)異步調(diào)用,所以你需要注冊一個(gè)XMLHttpRequest對象將他們的瀏覽器內(nèi)實(shí)現(xiàn)了XMLHttpRequest對象,但是作為一個(gè)本地JavaScript對象而不是他們的瀏覽器內(nèi)實(shí)現(xiàn)了XMLHttpRequest對象,但是作為一個(gè)本地JavaScript對象而不是常。該請求被使用提供給open()方法的參數(shù)發(fā)送到服務(wù)器。當(dāng)async參數(shù)為true時(shí),send()據(jù)庫中檢查它的有效性。本文示例中的這個(gè)servlet需要構(gòu)造一個(gè)發(fā)送到客戶端的響應(yīng);而且,這個(gè)示例返"代表了"異步",這意味著XMLHttpRequest對象的send()方法可以立即返回,從而讓W(xué)e}來自于服務(wù)器端的響應(yīng)是一個(gè)XMLDOM對象,此對象將創(chuàng)建一個(gè)XML字符串-其中包含要在客戶端進(jìn)行處理的指令。另外,該XML字符串必須有一個(gè)根元素?!咀⒁狻縓MLHttpRequest對象的設(shè)計(jì)目的是為了處理由普通文本或XML組成的響應(yīng);但是,一個(gè)響應(yīng)也可能是另外一種類型,如果用戶代理(UA)支持這種內(nèi)容類型的話。}}}以普通文本形式返回響應(yīng)。對于一個(gè)XML響應(yīng),你將按如下方式檢索內(nèi)容:借助于存儲在msg變量中的XML,你可以使用DOM方法getElementsByTagName()來檢索該元素的值:innerHTML屬性,你可以測試該元素值以創(chuàng)建一個(gè)要顯示的消息:么responseXML的值為null。無論何時(shí),只要么responseXML的值為null。無論何時(shí),只要readyState值不為4,那么該respo作為一個(gè)ActiveX

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論