下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、XMLHttpRequest對(duì)象XMLHttpRequest對(duì)象提供了對(duì)HTTP協(xié)議的完全的訪問,包括做出POST和HEAD請(qǐng)求以及普通的GET請(qǐng)求的能力。XMLHttpRequest可以同步或異步地返回Web服務(wù)器的響應(yīng),并且能夠以文本或者一個(gè)DOM文檔的形式返回內(nèi)容。盡管名為XMLHttpRequest,它并不限于和XML文檔一起使用:它可以接收任何形式的文本文檔。XMLHttpRequest對(duì)象是名為AJAX的Web應(yīng)用程序架構(gòu)的一項(xiàng)矢鍵功能。瀏覽器支持XMLHttpRequest得到了所有現(xiàn)代瀏覽器較好的支持。唯一的瀏覽器依賴性涉及XMLHttpRequest對(duì)象的創(chuàng)建。在IE5和IE
2、6中,必須使用特定于IE的ActiveXObject()構(gòu)造函數(shù)。正如在XMLHttpRequest對(duì)象這一節(jié)所介紹的。W3C標(biāo)準(zhǔn)化XMLHttpRequest對(duì)象還沒有標(biāo)準(zhǔn)化,但是W3C已經(jīng)開始了標(biāo)準(zhǔn)化的工作,本手冊(cè)介紹的內(nèi)容都是基于標(biāo)準(zhǔn)化的工作草案。當(dāng)前的XMLHttpRequest實(shí)現(xiàn)已經(jīng)相當(dāng)一致。但是和標(biāo)準(zhǔn)有細(xì)微的不同。例如,一個(gè)實(shí)現(xiàn)可能返回null,而標(biāo)準(zhǔn)要求是空字符串,或者實(shí)現(xiàn)可能把readyState設(shè)置為3而不保證所有的響應(yīng)頭部都可用。readyStateHTTP請(qǐng)求的狀態(tài)當(dāng)一個(gè)XMLHttpRequest初次創(chuàng)建時(shí),這個(gè)屬性的值從0開始,直到接收到完整的HTTP響應(yīng),這個(gè)值增
3、加到4。5個(gè)狀態(tài)中每一個(gè)都有一個(gè)相尖聯(lián)的非正式的名稱,下表列出了狀態(tài)名稱和含義:描述狀態(tài)名稱0Uninitialized初始化狀態(tài)。XMLHttpRequest對(duì)象已創(chuàng)建或已被abort()方法重置。Openopen()方法已調(diào)用,但是send()方法未調(diào)用。請(qǐng)求還沒有被發(fā)送。SentSend()方法已調(diào)用,HTTP請(qǐng)求已發(fā)送到Web服務(wù)器。未接收到響應(yīng)。Receiving所有響應(yīng)頭部都已經(jīng)接收到。響應(yīng)體開始接收但未完成。4LoadedHTTP響應(yīng)已經(jīng)完全接收。readyState的值不會(huì)遞減,除非當(dāng)一個(gè)請(qǐng)求在處理過程中的時(shí)候調(diào)用了abort?;騩pen()方法。每次這個(gè)屬性的值增加的時(shí)候都會(huì)
4、觸發(fā)onreadystatechange事件句柄。responseText目前為止為服務(wù)器接收到的響應(yīng)體(不包括頭部),或者如果還沒有接收到數(shù)據(jù)的話,就是空字符串0如果readyState小于3,這個(gè)屬性就是一個(gè)空字符串。當(dāng)readyState為3,這個(gè)屬性返回目前已經(jīng)接收的響應(yīng)部分。如果readyState為4,這個(gè)屬性保存了完整的響應(yīng)體。如果響應(yīng)包含了為響應(yīng)體指定字符編碼的頭部,就使用該編碼。否則,假定使用UnicodeUTF-8。responseXML對(duì)請(qǐng)求的響應(yīng),解析為XML并作為Document對(duì)象返回。DnUffifflresponseXML.documentElement.get
5、ElementsByTagName(,tagname,)M回相應(yīng)的element對(duì)象status由服務(wù)器返回的HTTP狀態(tài)代碼,如200表示成功,而404表示NotFound錯(cuò)誤。當(dāng)readyState小于3的時(shí)候讀取這一屬性會(huì)導(dǎo)致一個(gè)異常。statusText這個(gè)屬性用名稱而不是數(shù)字指定了請(qǐng)求的HTTP的狀態(tài)代碼。也就是說,當(dāng)狀態(tài)為200的時(shí)候它是W當(dāng)狀態(tài)為404的時(shí)候它是NotFound1。和status屬性一樣,當(dāng)readyState小于3的時(shí)候讀取這一屬性會(huì)導(dǎo)致一個(gè)異常。事件句柄onreadystatechange每次readyState屬性改變的時(shí)候調(diào)用的事件句柄函數(shù)。當(dāng)readyS
6、tate為3時(shí),它也可能調(diào)用多次。方法abort()取消當(dāng)前響應(yīng),另閉連接并且結(jié)束任何未決的網(wǎng)絡(luò)活動(dòng)。這個(gè)方法把XMLHttpRequest對(duì)象重置為readyState為0的狀態(tài),并且取消所有未決的網(wǎng)絡(luò)活動(dòng)。例如/如果請(qǐng)求用了太長(zhǎng)時(shí)間,而且響應(yīng)不再必要的時(shí)候,可以調(diào)用這個(gè)方法。getAIIResponseHeaders()把HTTP響應(yīng)頭部作為未解析的字符串返回。如果readyState小于3,這個(gè)方法返回null。否則,它返回服務(wù)器發(fā)送的所有HTTP響應(yīng)的頭部。頭部作為單個(gè)的字符串返回,一行一個(gè)頭部。每行用換行符nrnn隔開。getResponseHeader()返回指定的HTTP響應(yīng)頭部
7、的值。其參數(shù)是要返回的HTTP響應(yīng)頭部的名稱。可以使用任何大小寫來制定這個(gè)頭部名字,和響應(yīng)頭部的比較是不區(qū)分大小寫的。該方法的返回值是指定的HTTP響應(yīng)頭部的值,如果沒有接收到這個(gè)頭部或者readyState小于3則為空字符串。如果接收到多個(gè)有指定名稱的頭部,這個(gè)頭部的值被連接起來并返回,使用逗號(hào)和空格分隔開各個(gè)頭部的值。open()初始化HTTP請(qǐng)求參數(shù),例如URL和HTTP方法,但是并不發(fā)送請(qǐng)求。send()發(fā)送HTTP請(qǐng)求,使用傳遞給open()方法的參數(shù),以及傳遞給該方法的可選請(qǐng)求體。setRequestHeader()向一個(gè)打開但未發(fā)送的請(qǐng)求設(shè)置或添加一個(gè)HTTP請(qǐng)求。XMLHttp
8、Request.open()初始化HTTP請(qǐng)求參數(shù)語(yǔ)法open(method,url,async,username,password)method參數(shù)是用于請(qǐng)求的HTTP方法。值包括GETPOST和HEAD。url參數(shù)是請(qǐng)求的主體。大多數(shù)瀏覽器實(shí)施了一個(gè)同源安全策略,并且要求這個(gè)URL與包含腳本的文本具有相同的主機(jī)名和端口。async參數(shù)指示請(qǐng)求使用應(yīng)該異步地執(zhí)行。如果這個(gè)參數(shù)是false,請(qǐng)求是同步的,后續(xù)對(duì)send()的調(diào)用將阻塞,直到響應(yīng)完全接收。如果這個(gè)參數(shù)是true或省略,請(qǐng)求是異步的,且通常需要一個(gè)onreadystatechange事件句柄。username和password參數(shù)
9、是可選的,為url所需的授權(quán)提供認(rèn)證資格。如果指定了,它們會(huì)覆蓋url自己指定的任何資格。說明這個(gè)方法初始化請(qǐng)求參數(shù)以供send()方法稍后使用。它把readyState設(shè)置為1,刪除之前指定的所有請(qǐng)求頭部,以及之前接收的所有響應(yīng)頭部5并且把responseText、responseXMLstatus以及statusText參數(shù)設(shè)置為它們的默認(rèn)值。當(dāng)readyState為0的時(shí)候(當(dāng)XMLHttpRequest對(duì)象剛創(chuàng)建或者abort()方法調(diào)用后)以及當(dāng)readyState為4時(shí)(已經(jīng)接收響應(yīng)時(shí)),調(diào)用這個(gè)方法是安全的。當(dāng)針對(duì)任何其他狀態(tài)調(diào)用的時(shí)候,open()方法的行為是為指定的。除了保存
10、供send()方法使用的請(qǐng)求參數(shù),以及重置XMLHttpRequest對(duì)象以便復(fù)用,open()方法沒有其他的行為。要特別注意,當(dāng)這個(gè)方法調(diào)用的時(shí)候,實(shí)現(xiàn)通常不會(huì)打開一個(gè)到Web服務(wù)器的網(wǎng)絡(luò)連接。XMLHttpRequest.send()發(fā)送一個(gè)HTTP請(qǐng)求語(yǔ)法send(body)如果通過調(diào)用open()指定的HTTP方法是POST或PUTbody參數(shù)指定了請(qǐng)求體作為一個(gè)字符串或者Document對(duì)象。如果請(qǐng)求體不是必須的話,這個(gè)參數(shù)就為null。對(duì)于任何其他方法,這個(gè)參數(shù)是不可用的,應(yīng)該為null(有些實(shí)現(xiàn)不允許省略該參數(shù))。說明這個(gè)方法導(dǎo)致一個(gè)HTTP請(qǐng)求發(fā)送。如果之前沒有調(diào)用open()
11、,或者更具體地說,如果readyState不是1send()拋出一個(gè)異常。否則,它發(fā)送一個(gè)HTTP請(qǐng)求,該請(qǐng)求由以下幾部分組成:之前調(diào)用open。時(shí)指定的HTTP方法、URL以及認(rèn)證資格(如果有的話)。之前調(diào)用setRequestHeader()時(shí)指定的請(qǐng)求頭部(如果有的話)。傳遞給這個(gè)方法的body參數(shù)。一旦請(qǐng)求發(fā)布了,send()把readyState設(shè)置為2,并觸發(fā)onreadystatechange事件句柄。如果之前調(diào)用的open()參數(shù)async為false,這個(gè)方法會(huì)阻塞并不會(huì)返回,直到readyState為4并且服務(wù)器的響應(yīng)被完全接收。否則,如果async參數(shù)為true,或者這個(gè)
12、參數(shù)省略了,send()立即返回,并且正如后面所介紹的,服務(wù)器響應(yīng)將在一個(gè)后臺(tái)線程中處理。如果服務(wù)器響應(yīng)帶有一個(gè)HTTP重定向,send()方法或后臺(tái)線程自動(dòng)遵從重定向。當(dāng)所有的HTTP響應(yīng)頭部已經(jīng)接收,send()或后臺(tái)線程把readyState設(shè)置為3并觸發(fā)onreadystatechange事件句柄。如果響應(yīng)較長(zhǎng),send()或后臺(tái)線程可能在狀態(tài)3中觸發(fā)onreadystatechange事件句柄:這可以作為一個(gè)下載進(jìn)度指示器。最后,當(dāng)響應(yīng)完成,send()或后臺(tái)線程把readyState設(shè)置為4,并最后一次觸發(fā)事件句柄。XMLHttpRequest.setRequestHeader()
13、語(yǔ)法setRequestHeader(name,value)name參數(shù)是要設(shè)置的頭部的名稱。這個(gè)參數(shù)不應(yīng)該包括空白、冒號(hào)或換行。value參數(shù)是頭部的值。這個(gè)參數(shù)不應(yīng)該包括換行。說明setRequestHeader()方法指定了一個(gè)HTTP請(qǐng)求的頭部,它應(yīng)該包含在通過后續(xù)send()調(diào)用而發(fā)布的請(qǐng)求中。這個(gè)方法只有當(dāng)readyState為1的時(shí)候才能調(diào)用,例如,在調(diào)用了open()之后,但在調(diào)用send()之前。如果帶有指定名稱的頭部已經(jīng)被指定了,這個(gè)頭部的新值就是:之前指定的值,加上逗號(hào)、空白以及這個(gè)調(diào)用指定的值。如果open()調(diào)用指定了認(rèn)證資格XMLHttpRequest自動(dòng)發(fā)送一個(gè)適
14、當(dāng)?shù)腁uthorization請(qǐng)求頭部。但是,你可以使用setRequestHeader()來來添加這個(gè)頭部。類似地,如果Web服務(wù)器已經(jīng)保存了和傳遞給open()的URL相矢聯(lián)的cookie,適當(dāng)?shù)腃ookie或Cookie2頭部也自動(dòng)地包含到請(qǐng)求中??梢酝ㄟ^調(diào)用setRequestHeader()來把這些cookie添加到頭部。XMLHttpRequest也可以為Use-Agent頭部捉供一個(gè)默認(rèn)值。如果它這么做,你為該頭部指定的任何值都會(huì)添加到這個(gè)默認(rèn)值后面。有些請(qǐng)求頭部由XMLHttpRequest自動(dòng)設(shè)宣而不是由這個(gè)方法設(shè)置,以符合HTTP協(xié)議。這包括如下和代理相尖的頭部:HostC
15、onnectionKeep-AliveAccept-charsetAccept-EncodingIf-Modified-SinceIf-None-MatchIf-RangeRange當(dāng)open()方法中使用post方法的時(shí)候,要在send()方法之前設(shè)置Content-Type:XMLHttpRequest.setRequestHeader(Content-Type”/application/x-www-itomulencoded”);矢于XMLHttpRequest.onreadystatechange事件句柄矢聯(lián)一個(gè)callback函城:數(shù)組(array)對(duì)象對(duì)應(yīng)的類是Array所以:varmyArray=;等價(jià)于varmyArray=newArray();這里myArray是為這個(gè)數(shù)組的命名函數(shù)(function)對(duì)象對(duì)應(yīng)的類是Function同樣:functionmyFunction(a,b)return8+b;等價(jià)于varmyFunction=newFunction(,a,z,b,z,retuma+bn);同樣*這里的myFunction是對(duì)函數(shù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能科技在提升學(xué)習(xí)動(dòng)力中的應(yīng)用
- 電力設(shè)施維護(hù)與檢修預(yù)防事故的關(guān)鍵環(huán)節(jié)
- 2025年四平貨運(yùn)駕駛員從業(yè)資格證考試題庫(kù)答案
- 教育科技前沿家庭學(xué)習(xí)環(huán)境的規(guī)劃與實(shí)施
- 2025年度新能源汽車預(yù)約解除及售后服務(wù)保障合同
- 二零二五年度游艇租賃與保養(yǎng)一體化服務(wù)合同
- 二零二五年度商務(wù)辦公租賃合同
- 科技驅(qū)動(dòng)下的學(xué)校運(yùn)動(dòng)場(chǎng)所綠色材料發(fā)展
- 2025年度生態(tài)養(yǎng)殖場(chǎng)牛羊批量采購(gòu)合同
- 二零二五年度能源項(xiàng)目銀行過橋墊資服務(wù)合同
- 2025年山西國(guó)際能源集團(tuán)限公司所屬企業(yè)招聘43人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 青海省海北藏族自治州(2024年-2025年小學(xué)六年級(jí)語(yǔ)文)統(tǒng)編版隨堂測(cè)試(上學(xué)期)試卷及答案
- 外研版(三起)小學(xué)英語(yǔ)三年級(jí)下冊(cè)Unit 1 Animal friends Get ready start up 課件
- 江蘇省無(wú)錫市2023-2024學(xué)年高三上學(xué)期期終教學(xué)質(zhì)量調(diào)研測(cè)試語(yǔ)文試題(解析版)
- 銅礦隱蔽致災(zāi)普查治理工作計(jì)劃
- 《民航安全檢查(安檢技能實(shí)操)》課件-第一章 民航安全檢查員職業(yè)道德
- DB34T4826-2024畜禽養(yǎng)殖業(yè)污染防治技術(shù)規(guī)范
- 腰麻課件教學(xué)課件
- 石油化工企業(yè)環(huán)境保護(hù)管理制度預(yù)案
- 2024年甘肅省高考?xì)v史試卷(含答案解析)
- 2024年山東省煙臺(tái)市初中學(xué)業(yè)水平考試地理試卷含答案
評(píng)論
0/150
提交評(píng)論