濮阳杆衣贸易有限公司

主頁 > 知識庫 > Ajax簡單的異步交互及Ajax原生編寫

Ajax簡單的異步交互及Ajax原生編寫

熱門標簽:硅語電話機器人公司 機器人電銷騙局揭秘 超級大富翁地圖標注 個人怎樣在百度地圖標注地名 騰訊地圖標注位置能用多久 越南河內地圖標注 云呼外撥網絡電話系統(tǒng) ai機器人電銷資源 地圖標注項目怎么樣

一提到異步交互大家就會說ajax,仿佛ajax這個技術已經成為了異步交互的代名詞.那下面將研究ajax的核心對象!

利用ajax實現異步交互無非4步:

1.創(chuàng)建ajax核心對象

2.與服務器建立連接

3.向服務器發(fā)送請求

4.接收服務器響應的數據

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

首先我們創(chuàng)建ajax的核心對象,由于瀏覽器的兼容問題我們在創(chuàng)建ajax核心對象的時候不得考慮其兼容問題,因為要想實現異步交互的后面步驟都基于第一步是否成功的創(chuàng)建了ajax核心對象.

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

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

第二步就是與服務器建立連接,通過ajax核心對象調用open(method,url,async)方法.

open方法的形參解釋:

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

url表示請求的php的地址(注意當請求類型為get的時候,請求的數據將以問號跟隨url地址后面,下面的send方法中將傳入null值)

async是個布爾值,表示是否異步,默認為true.在最新規(guī)范中這一項已經不在需要填寫,因為官方認為使用ajax就是為了實現異步.

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

第三步我們將向服務器發(fā)送請求,利用ajax核心對象調用send方法

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

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

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

xhr.onreadystatechange = function(){
               // 保證服務器端響應的數據發(fā)送完畢,保證這次請求必須是成功的
   if(xhr.readyState == 4xhr.status == 200){
      // 接收服務器端的數據
      var data = xhr.responseText;
       // 測試
       console.log(data);
   } 
};

ps:Ajax簡單的異步交互

ajax簡單的異步交互,可以先從get方式開始說起

那么創(chuàng)建一個Ajax與服務器端的異步請求,需要完成三個

步驟1、XMLHttpRequest對象的創(chuàng)建

if(window.XMLHttpRequest){//針對IE7以上 以及標準瀏覽器
var xhr=new XMLHttoRequest();
}else if(window.ActiveXObject){
var xhr=new ActiveXObject("Microsoft.XMLHTTP");
} 

步驟2、注冊回調函數

xhr.onreadystatechange=callback;
或者xhr.onreadystatechange=function(){
//codes here 
} 

步驟3、設置連接信息

xhr.open("GET",url,true)//其中true表示為異步交互

步驟4、發(fā)送數據

xhr.send(null);

您可能感興趣的文章:
  • Silverlight融合ajax實現前后臺數據交互
  • 看圖理解 普通交互方式和Ajax交互方式區(qū)別
  • ajax交互Struts2的action(客戶端/服務器端)
  • Ajax異步傳輸與PHP實現交互示例
  • 實例解讀Ajax與servlet交互的方法
  • Ajax中瀏覽器和服務器交互詳解
  • Ajax+js實現異步交互
  • Ajax()方法如何與后臺交互

標簽:舟山 遼源 林芝 邢臺 洛陽 鄭州 內蒙古 海南

巨人網絡通訊聲明:本文標題《Ajax簡單的異步交互及Ajax原生編寫》,本文關鍵詞  Ajax,簡單,的,異步,交互,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Ajax簡單的異步交互及Ajax原生編寫》相關的同類信息!
  • 本頁收集關于Ajax簡單的異步交互及Ajax原生編寫的相關信息資訊供網民參考!
  • 推薦文章
    昌都县| 安国市| 万山特区| 靖西县| 肥西县| 柘城县| 连山| 鸡东县| 海原县| 前郭尔| 长泰县| 嘉善县| 花莲县| 宿松县| 阿荣旗| 宕昌县| 新和县| 宁武县| 宝鸡市| 翁牛特旗| 古田县| 印江| 翁牛特旗| 广西| 永修县| 哈尔滨市| 永登县| 合作市| 大城县| 修文县| 浙江省| 吐鲁番市| 唐山市| 雅安市| 合肥市| 宁蒗| 瑞丽市| 建水县| 红桥区| 吐鲁番市| 北辰区|