HtttpRequest對(duì)象是(shì)Ajax的(de)核心,它有(yǒu)許多(duō)的(de)屬性、方法和(hé)事(shì)件(jiàn)以便于腳本處理(lǐ)和 (hé)控制(zhì)HTTP的(de)請(qǐng)求與相(xiàng)應,下(xià)面蘇州網站(zhàn)制(zhì)作(zuò)主要(yào)講述一(yΩī)下(xià)open() 和(hé)send()方法。
XMLHttpRequets對(duì)象是(shì)通(tōng)過調用(yòng)open(method,uri,as§ync,username,password)方法來(lái)進行(xíng)初始化(huà)工(gōng)作(zuò)的(d♦e)。調用(yòng)該方法得(de)到(dào)一(yī)個(gè)可(kě)以用(yòng)來(lái)進行(xíng)發行(xíng)(send'()方法)的(de)對(duì)象。Open()方法有(yǒu)5個(gè)參數(shù)。
(1)method參數(shù)是(shì)必須提供的(de),用(yòng)于指定用(yòng)來(lái)發送請(qǐng)求≥的(de)HTTP方法(GET,POST,PUT,DELETE或HEAD)。按照(zhào)HTTP規範,該參數(shù)要(yào)大(♥dà)寫。
(2)uri參數(shù)用(yòng)于指定XMLHttpRequest對(duì)象把請(qǐng)求發送到(dào)的(de)服務器(qì)響應的(de)URL,該地(dì)址會(huì®)被自(zì)動解析位絕對(duì)地(dì)址。
(3)async參數(shù)用(yòng)于指定是(shì)否請(qǐng)求是(shì)異步的(de),其默認值是(shì)TRUE。如(rú)果需要(yào)發送一(yī)<個(gè)同步請(qǐng)求,需要(yào)把該參數(shù)設置為(wèi)false。
(4)如(rú)果需要(yào)服務器(qì)驗證訪問(wèn)用(yòng)戶的(de)情況,那(nà)麽可(kě)以設置username以及password這(zhè)兩個(gè€)參數(shù)。
Send()方法
調用(yòng)opend()方法後,就(jiù)可(kě)以通(tōng)過調用(yòng)send()方法按照(zh≈ào)open()方法設定的(de)參數(shù)将請(qǐng)求進行(xíng)發送。當open()方法中async參數(shù)¶為(wèi)true時(shí),在send()方法調用(yòng)後立即返回,否則将會(huì)終端直到(dào)請(qǐng)求返回。需要(yào)←注意的(de)是(shì),send()方法必須在readyState屬性值為(wèi)1時(shí),即調用(yòng)open()方法以後才可(kě)能(néng)調用(yòng)。在調用(yòng)send()方法以後到(dào)接受到(dào)響應信息之前,readySt™ate屬性的(de)值将被設置為(wèi)2;一(yī)旦接收到(dào)響應信息,readySta©te屬性值将會(huì)被設為(wèi)3;知(zhī)道(dào)響應接收完成,readyState屬性的(de)值才會(huì)被設為(✔wèi)4。
Send()方法使用(yòng)一(yī)個(gè)可(kě)選的(de)參數(shù),該參數(shù)可(kě)以包含可(kě)變類型的(de)數(shù)據。用 (yòng)戶可(kě)以使用(yòng)它并通(tōng)過POST方法把數(shù)據發送到(dào)服務器(qì)。另外(wài),可(kě)以顯式地(dì)使用(yòng)null參₽數(shù)調用(yòng)send()方法,這(zhè)與不(bù)同參數(shù)調用(yòng)該方法一(yī)樣。對(duì)于大(dà)多(duō)數(shù)其他(tā)的×(de)參數(shù)類型,再調用(yòng)send()方法之前,應該使用(yòng)setRequestHeader()方法先設置Content-Ty←pe頭部。如(rú)果send(data)方法中的(de)data參數(shù)的(de)類型為(wèi)DOMString,那(nà)麽,數(shù)據将被編譯為(wèi)UTF-8。如(rú®)果數(shù)據是(shì)Document類型,那(nà)麽将使用(yòng)由data.xmlEncoding指定的(de)編碼串行(xíng)化(hu₩à)該數(shù)據。setRequestHeader()方法是(shì)用(yòng)來(lái)設置•請(qǐng)求的(de)頭部信息。當readyState屬性值為(wèi)1時(shí),可(kě)以再調用(yòng&)open()方法後調用(yòng)這(zhè)個(gè)方法;否則将得(de)到(dào)一(yī)個(gè)異常。S™etRequestHeader(header,value)方法包含兩個(gè)參數(shù):前一(yī)個(gè)是(shì)header鍵名稱,後一(yī)個(gè)是(★shì)鍵值。getRequestHeader()方法用(yòng)于檢索響應的(de)頭部值,僅當readState屬性值是(shì)3或4(即在響應頭部可(kě)用(yò↑ng)後)時(shí),才可(kě)以調用(yòng)這(zhè)個(gè)方法;否從(cóng),該方法返回一(yī)個(gè)空(k∞ōng)字符串。此處還(hái)可(kě)以通(tōng)過getAllRequestHeaders()方法獲取所有(yǒu)的(de)HttpRequ™est的(de)頭部信息。

2018-02-09
關鍵詞:
2542
電(diàn)話(huà)咨詢