AJAX XMLxmlHttpuest 對象

來源:互聯網
上載者:User

標籤:html   jquery   jquery ajax   ajax   



 XMLxmlHttpuest 對象

    AJAX 的要點是 XMLxmlHttpuest 對象。

   使用 XMLxmlHttpuest 對象對象實現非同步通訊一般需要以下幾個步驟:

(1)定義 XMLxmlHttpuest 對象執行個體

(2)調用open()方法建立與伺服器的串連

(3)註冊onreadystatechange事件處理函數,以便接收和處理從伺服器端響應的資訊

(4)調用send()方法發送請求

(1)執行個體化XMLxmlHttpuest 對象

    不同的瀏覽器建立 XMLxmlHttpuest 對象的方法是有差異的。 IE 瀏覽器使用 ActiveXObject,而其他的瀏覽器使用名為 XMLxmlHttpuest 的 JavaScript 內建對象。

    try{
     // Firefox, Opera 8.0+, Safari   等非IE瀏覽器  

   XMLHttpRequest  xmlHttp=new XMLHttpRequest();  }

     catch (e){
     // Internet Explorer    IE瀏覽器

      try{
         xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");      }

     catch (e){    try{
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");         }

     catch (e){
             alert("您的瀏覽器不支援AJAX!");             

             return false;     }      }  }

(2)建立串連

    定義了XMLHttpRequest對象後,調用open()方法可以建立非同步串連:

xmlHttp.open(method,url,async,user,password)

          method:請求的方式GET/POST/PUT/PROPFIND一般都使用(GET/POST)     ②開啟請求,裝載資料 
          url:即請求的地址,可以為絕對位址,也可以為相對位址   
          async:為可選項,設定是否為非同步通訊(true or  false)

          user和password表示請求的伺服器需要進行驗證

         例如:xmlHttp.open("GET","test.asp","true");


        xmlHttp.open("GET",url,true);     
        xmlHttp.onreadystatechange=dowork;(dowork是一個JS)    
        xmlHttp.send(null);

(3)綁定onreadystatechange時間處理函數

xmlHttp.  onreadystatechange=response;

function response(){

////可通過xmlHttp.readyState屬性值跟蹤通訊狀態或xmlhttp.responseBody,responseStream,responseText,responseXML等屬性來儲存伺服器端不同的響應資訊

readyState屬性值:

0:請求未初始化(還沒有調用 open())。  
1:請求已經建立,但是還沒有發送(還沒有調用 send())

2:請求已發送,正在處理中(通常現在可以從響應中擷取內容標題)。     

3:請求在處理中;通常響應中已有部分資料可用了,但是伺服器還沒有完成響應的產生。     

4:響應已完成;您可以擷取並使用伺服器的響應了

(4)通過send()方法來發送請求

 xmlHttp.send(null);

一個完整的通訊為:

  XMLHttpRequest  xmlHttp=new XMLHttpRequest(); 

  xmlHttp.open();  建立串連

  xmlHttp.onreadystatechange=response; 綁定onreadystatechange事件 

  xmlHttp.send(null); 發送請求

  alert(xmlHttp.response.responseText);//提示伺服器端相應資訊

AJAX XMLxmlHttpuest 對象

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.