濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Ajax+js實(shí)現(xiàn)異步交互

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

熱門標(biāo)簽:云呼外撥網(wǎng)絡(luò)電話系統(tǒng) 個(gè)人怎樣在百度地圖標(biāo)注地名 超級(jí)大富翁地圖標(biāo)注 地圖標(biāo)注項(xiàng)目怎么樣 騰訊地圖標(biāo)注位置能用多久 越南河內(nèi)地圖標(biāo)注 硅語(yǔ)電話機(jī)器人公司 機(jī)器人電銷騙局揭秘 ai機(jī)器人電銷資源

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

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

  1. 創(chuàng)建ajax核心對(duì)象
  2. 與服務(wù)器建立連接
  3. 向服務(wù)器發(fā)送請(qǐng)求
  4. 接收服務(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中,接下來提到的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)回來的數(shù)據(jù),使用onreadystatechange事件監(jiān)聽服務(wù)器的通信狀態(tài).通過readyState屬性獲取服務(wù)器端當(dāng)前通信狀態(tài).status獲得狀態(tài)碼,利用responseText屬性接收服務(wù)器響應(yīng)回來的數(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 == 4xhr.status == 200){
                // 接收服務(wù)器端的數(shù)據(jù)
                var data = xhr.responseText;
                 // 測(cè)試
                 console.log(data);
                 } 
             };

您可能感興趣的文章:
  • JS基于MSClass和setInterval實(shí)現(xiàn)ajax定時(shí)采集信息并滾動(dòng)顯示的方法
  • SpringMVC環(huán)境下實(shí)現(xiàn)的Ajax異步請(qǐng)求JSON格式數(shù)據(jù)
  • 使用Jquery+Ajax+Json如何實(shí)現(xiàn)分頁(yè)顯示附JAVA+JQuery實(shí)現(xiàn)異步分頁(yè)
  • asp.net+ajaxfileupload.js 實(shí)現(xiàn)文件異步上傳代碼分享
  • jquery的ajax異步請(qǐng)求接收返回json數(shù)據(jù)實(shí)例
  • 使用AjaxFileUpload.js實(shí)現(xiàn)異步文件上傳示例
  • extJS中常用的4種Ajax異步提交方式
  • JavaScript中從setTimeout與setInterval到AJAX異步

標(biāo)簽:舟山 遼源 林芝 邢臺(tái) 內(nèi)蒙古 海南 洛陽(yáng) 鄭州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Ajax+js實(shí)現(xiàn)異步交互》,本文關(guān)鍵詞  Ajax+js,實(shí)現(xiàn),異步,交互,Ajax+js,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Ajax+js實(shí)現(xiàn)異步交互》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Ajax+js實(shí)現(xiàn)異步交互的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    凤山县| 西贡区| 德令哈市| 康定县| 宣汉县| 江孜县| 资阳市| 贵德县| 彩票| 安图县| 汉阴县| 道孚县| 乐至县| 泽普县| 娄底市| 太和县| 晋州市| 南雄市| 临澧县| 武穴市| 双柏县| 即墨市| 青州市| 济阳县| 綦江县| 宜兰市| 同仁县| 合水县| 信阳市| 区。| 铜梁县| 清丰县| 武山县| 台山市| 旬邑县| 新化县| 东城区| 巴彦淖尔市| 正蓝旗| 黔西县| 常熟市|