国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > AJAX > 正文

Ajax+js實(shí)現(xiàn)異步交互

2024-09-01 08:28:09
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

一提到異步交互大家就會(huì)說(shuō)ajax,仿佛ajax這個(gè)技術(shù)已經(jīng)成為了異步交互的代名詞.那下面將研究ajax的核心對(duì)象!

利用ajax實(shí)現(xiàn)異步交互無(wú)非4步:

    創(chuàng)建ajax核心對(duì)象 與服務(wù)器建立連接 向服務(wù)器發(fā)送請(qǐng)求 接收服務(wù)器響應(yīng)的數(shù)據(jù)

看似神秘的異步交互當(dāng)明確這4步后,也許在大家腦海里已經(jīng)有了初步的思路了

首先我們創(chuàng)建ajax的核心對(duì)象,由于瀏覽器的兼容問(wèn)題我們?cè)趧?chuàng)建ajax核心對(duì)象的時(shí)候不得考慮其兼容問(wèn)題,因?yàn)橐雽?shí)現(xiàn)異步交互的后面步驟都基于第一步是否成功的創(chuàng)建了ajax核心對(duì)象.

 function getXhr(){      // 聲明XMLHttpRequest對(duì)象      var xhr = null;      // 根據(jù)瀏覽器的不同情況進(jìn)行創(chuàng)建       if(window.XMLHttpRequest){      // 表示除IE外的其他瀏覽器           xhr = new XMLHttpRequest();       }else{         // 表示IE瀏覽器         xhr = new ActiveXObject('Microsoft.XMLHttp');       }       return xhr; } // 創(chuàng)建核心對(duì)象 var xhr = getXhr();    

通過(guò)上述代碼我們已經(jīng)成功的創(chuàng)建了ajax核心對(duì)象,我們保存在變量xhr中,接下來(lái)提到的ajax核心對(duì)象都將以xhr代替.

第二步就是與服務(wù)器建立連接,通過(guò)ajax核心對(duì)象調(diào)用open(method,url,async)方法.

open方法的形參解釋:

method表示請(qǐng)求方式(get或post)

url表示請(qǐng)求的php的地址(注意當(dāng)請(qǐng)求類型為get的時(shí)候,請(qǐng)求的數(shù)據(jù)將以問(wèn)號(hào)跟隨url地址后面,下面的send方法中將傳入null值)

async是個(gè)布爾值,表示是否異步,默認(rèn)為true.在最新規(guī)范中這一項(xiàng)已經(jīng)不在需要填寫(xiě),因?yàn)楣俜秸J(rèn)為使用ajax就是為了實(shí)現(xiàn)異步.

xhr.open("get","01.php?user=xianfeng");//這是get方式請(qǐng)求數(shù)據(jù)xhr.open("post","01.php");//這是以post方式請(qǐng)求數(shù)據(jù)

第三步我們將向服務(wù)器發(fā)送請(qǐng)求,利用ajax核心對(duì)象調(diào)用send方法

如果是post方式,請(qǐng)求的數(shù)據(jù)將以name=value形式放在send方法里發(fā)送給服務(wù)器,get方式直接傳入null值

xhr.send("user=xianfeng");//這是以post方式發(fā)送請(qǐng)求數(shù)據(jù)xhr.send(null);//這是以get方式

 第四步接收服務(wù)器響應(yīng)回來(lái)的數(shù)據(jù),使用onreadystatechange事件監(jiān)聽(tīng)服務(wù)器的通信狀態(tài).通過(guò)readyState屬性獲取服務(wù)器端當(dāng)前通信狀態(tài).status獲得狀態(tài)碼,利用responseText屬性接收服務(wù)器響應(yīng)回來(lái)的數(shù)據(jù)(這里指text類型的字符串格式數(shù)據(jù)).后面再寫(xiě)XML格式的數(shù)據(jù)和大名鼎鼎的json格式數(shù)據(jù).

xhr.onreadystatechange = function(){                  // 保證服務(wù)器端響應(yīng)的數(shù)據(jù)發(fā)送完畢,保證這次請(qǐng)求必須是成功的                if(xhr.readyState == 4&&xhr.status == 200){                // 接收服務(wù)器端的數(shù)據(jù)                var data = xhr.responseText;                 // 測(cè)試                 console.log(data);                 }              };            
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 闸北区| 衡阳市| 武邑县| 荆门市| 库伦旗| 永登县| 赤壁市| 洞头县| 黎平县| 本溪市| 城步| 江孜县| 宝应县| 罗江县| 江油市| 湖北省| 民丰县| 和硕县| 页游| 阿巴嘎旗| 灵寿县| 柳林县| 无锡市| 抚远县| 呼伦贝尔市| 娄底市| 四川省| 隆子县| 万载县| 桑植县| 扶沟县| 札达县| 宽城| 明水县| 靖江市| 阿巴嘎旗| 丰镇市| 自贡市| 达日县| 惠安县| 清新县|