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

一提到異步交互大家就會(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ì)象,由于瀏覽器的兼容問題我們?cè)趧?chuàng)建ajax核心對(duì)象的時(shí)候不得考慮其兼容問題奸焙,因?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();

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

第二步、就是與服務(wù)器建立連接, 通過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ù)將以問號(hào)"?"跟隨url地址后面, 下面的send方法中將傳入null值)

     async: 是個(gè)布爾值, 表示是否異步, 默認(rèn)為true础拨。在最新規(guī)范中這一項(xiàng)已經(jīng)不在需要填寫, 因?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)聽服務(wù)器的通信狀態(tài)塔沃,通過readyState屬性獲取服務(wù)器端當(dāng)前通信狀態(tài),status獲得狀態(tài)碼阳谍,利用responseText屬性接收服務(wù)器響應(yīng)回來(lái)的數(shù)據(jù)(這里指text類型的字符串格式數(shù)據(jù))蛀柴,后面再寫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);
       }
};
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市鸽疾,隨后出現(xiàn)的幾起案子吊洼,更是在濱河造成了極大的恐慌,老刑警劉巖制肮,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件冒窍,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡豺鼻,警方通過查閱死者的電腦和手機(jī)综液,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)儒飒,“玉大人谬莹,你說(shuō)我怎么就攤上這事≡妓兀” “怎么了届良?”我有些...
    開封第一講書人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)圣猎。 經(jīng)常有香客問我士葫,道長(zhǎng),這世上最難降的妖魔是什么送悔? 我笑而不...
    開封第一講書人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任慢显,我火速辦了婚禮,結(jié)果婚禮上欠啤,老公的妹妹穿的比我還像新娘荚藻。我一直安慰自己,他們只是感情好洁段,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開白布应狱。 她就那樣靜靜地躺著,像睡著了一般祠丝。 火紅的嫁衣襯著肌膚如雪疾呻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,050評(píng)論 1 291
  • 那天写半,我揣著相機(jī)與錄音岸蜗,去河邊找鬼。 笑死叠蝇,一個(gè)胖子當(dāng)著我的面吹牛璃岳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼铃慷,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼单芜!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起枚冗,我...
    開封第一講書人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤缓溅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后赁温,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡淤齐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年股囊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片更啄。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡稚疹,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出祭务,到底是詐尸還是另有隱情内狗,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布义锥,位于F島的核電站柳沙,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏拌倍。R本人自食惡果不足惜赂鲤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望柱恤。 院中可真熱鬧数初,春花似錦、人聲如沸梗顺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)寺谤。三九已至仑鸥,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間矗漾,已是汗流浹背锈候。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留敞贡,地道東北人泵琳。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親获列。 傳聞我的和親對(duì)象是個(gè)殘疾皇子谷市,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容