一個(gè)完整的Ajax過(guò)程如下:
成都創(chuàng)新互聯(lián)-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比富順網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式富順網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋富順地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴(lài)。創(chuàng)建XMLHttpRequest對(duì)象
通過(guò)上一步創(chuàng)建的XMLHttpRequest對(duì)象,打開(kāi)一個(gè)連接
綁定事件,對(duì)獲取到的數(shù)據(jù)進(jìn)行處理。一般為請(qǐng)求成功后的回調(diào)函數(shù)
發(fā)送該請(qǐng)求
根據(jù)上面的步驟進(jìn)行簡(jiǎn)單的描述:
1. 對(duì)于不同的瀏覽器,創(chuàng)建一個(gè)能發(fā)起Ajax請(qǐng)求對(duì)象的方式不一樣。 現(xiàn)代瀏覽器通過(guò)內(nèi)嵌的XMLHttpRequest()對(duì)象即可實(shí)現(xiàn),而老的瀏覽器(IE6/IE6-)則需要通過(guò)一個(gè)ActiveX對(duì)象來(lái)創(chuàng)建。
2. 打開(kāi)一個(gè)到遠(yuǎn)程對(duì)象的請(qǐng)求,需要通過(guò)XHR的open()方法實(shí)現(xiàn)。語(yǔ)法:
open(method, url, async, user, password)
其中:
method可以取值為GET、POST、HEAD、PUT、DELETE、OPTIONS,前二者是常用的。
url為請(qǐng)求的遠(yuǎn)程接口
async為布爾值,是否需要異步處理請(qǐng)求,默認(rèn)為true
如果此接口需要用戶(hù)名和密碼,可附上,不過(guò)這樣就暴露了
3. 通過(guò)監(jiān)控readystatechange事件,判斷數(shù)據(jù)是否請(qǐng)求完成,并進(jìn)行相關(guān)處理。其狀態(tài)值可以通過(guò)readyState獲取,有如下5種狀態(tài):
0: XHR對(duì)象未初始化
1: XHR對(duì)象已經(jīng)建立,但還未發(fā)送
2: 已調(diào)用send(),請(qǐng)求已發(fā)送
3: 已接收到數(shù)據(jù),正在處理中
4: 數(shù)據(jù)接收并處理完成,可以使用了
4. send()方法用于發(fā)送請(qǐng)求,若是POST方式,可以將需要傳送的數(shù)據(jù)作為參數(shù)發(fā)送,形如send(data),但此時(shí)需要先設(shè)置XMLHttpRequest請(qǐng)求頭的Content-Type為application/x-www-form-urlencoded。
一個(gè)簡(jiǎn)單的Ajax示例: