DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX基礎知識 >> ajax入門簡明教程---XMLHTTPRequest對象
ajax入門簡明教程---XMLHTTPRequest對象
編輯:AJAX基礎知識     

     當前ajax技術作為web2.0的技術主體,已經是非常流行了。現在的很多網站都已做ajax為時尚,因為它的頁面響應速度快,用戶體驗高啊,每次轉換頁面幾乎就是不刷新。那麼是什麼東西使這ajax的響應這麼快呢?是XMLHTTPRequest對象。XMLHTTPRequest對象是ajax技術的核心,沒有XMLHTTPRequest對象就相當於沒有ajax,它是最重要的一個對象。下面我們來介紹一下這個東西。

     XMLHTTPRequest是XMLHTTP組件的對象,通過XMLHTTPRequest可以像桌面應用程序一樣只同服務器進行數據層面的信息交換,而不用刷新頁面,也不用將數據處理的一大堆事情交給服務器去做,客戶端或是浏覽器能做的就幫服務器分擔一點,這樣多好啊。用戶體驗高了,服務器負擔還減輕了不少。

    XMLHTTPRequest的應用:
    var xmlhttp = new XMLHTTPRequest(); 用new關鍵字創建XMLHTTPRequest的對象
    在微軟的IE浏覽器裡XMLHTTP組件有區別
    var xmlhttp = new ActiveXObject(Microsoft.XMLHTTP);
    var xmlhttp = new ActiveXObject(Msxml2.XMLHTTP);
    微軟用Active X來支持XMLHttp組件
    列舉一個跨浏覽器的例子:
<script language=”javascript”>
  var XHR;
  //創建XMLHTTPRequest對象
  function creatXMLHTTPRequest() {
  if (window. XMLHTTPRequest) { //firefox浏覽器
  XHR = new XMLHTTPRequest();
  }
  ese if (window.ActiveObject) { //IE浏覽器
  try {
  XHR = new ActiveXObject(“Msxml2.XMLHTTP”);
  } catch (e){
  try {
XHR = new ActiveXObject(“Microsoft.XMLHTTP”);
} catch (e) {}
}}}
</script>
  XMLHTTPRequest 是個對象,學過一些面向對象編程的同學能知道,每個對象裡有屬性和方法。Javascript也是面向對象的語言,這裡面的對象同樣有著它的屬性和方法。
  我們先來看看它的屬性

 


們先來看看它的屬性

屬性 作用 onreadystatechange 這是個事件,在狀態改變時觸發 readyState 對象狀態 把一個HTTP請求發送到服務器時將經歷若干種狀態:一直等待直到請求被處理;然後,它才接收一個響應。這樣以來,腳本才正確響應各種狀態-XMLHttpRequest對象暴露一個描述對象的當前狀態的readyState屬性。
0 未初始化
1 讀取中
2 已讀取中
3 交互中
4 完成

ResponseText   這個responseText屬性包含客戶端接收到的HTTP響應的文本內容,表示為一個字符串。當readyState值為0、1或2時,responseText包 含一個空字符串。當readyState值為3(正在接收)時,響應中包含客戶端還未完成的響應信息。當readyState為4(已加載)時,該 responseText包含完整的響應信息。 ResponseXML 這個跟上一個很像,它返回一個兼容DOM的XML文檔對象。 status 返回http協議的狀態碼,如404是URL錯誤200交互成功。 statusText 服務器返回的狀態文本信息。

再來看看XMLHTTPRequest對象的方法

方法 作用

abort()

用它來停止當前請求

open(“方法名”,”URL”)

方法名是指,請求的方法get或者是post
這個方法可以理解為准備一個請求。

send(content)

僅當readyState值為1時,你才可以調用send()方法;否則的話,XMLHttpRequest對象將引發一個異常。

setRequestHeader()

該setRequestHeader(DOMString header,DOMString value)方法用來設置請求的頭部信息。當readyState值為1時,你可以在調用open()方法後調用這個方法;否則,你將得到一個異常。

getResponseHeader()

getResponseHeader(DOMString header,value)方法用於檢索響應的頭部值。

getAllResponseHeaders()

把HTTP請求的所有響應首部作為鍵/值對

 

 


       不過現在很多框架像是dwr。都已經盡力的簡化XMLHTTPRequest對象的操作,也就是說現在開發ajax時候,大部分已經不需要自己寫XMLHTTPRequest,而是一些框架幫著你做了。不過要想學好一門技術從基礎學起也是很必要的。

再來看看XMLHTTPRequest對象的方法

方法 作用

abort()

用它來停止當前請求

open(“方法名”,”URL”)

方法名是指,請求的方法get或者是post
這個方法可以理解為准備一個請求。

send(content)

僅當readyState值為1時,你才可以調用send()方法;否則的話,XMLHttpRequest對象將引發一個異常。

setRequestHeader()

該setRequestHeader(DOMString header,DOMString value)方法用來設置請求的頭部信息。當readyState值為1時,你可以在調用open()方法後調用這個方法;否則,你將得到一個異常。

getResponseHeader()

getResponseHeader(DOMString header,value)方法用於檢索響應的頭部值。

getAllResponseHeaders()

把HTTP請求的所有響應首部作為鍵/值對

    不過現在很多框架像是dwr。都已經盡力的簡化XMLHTTPRequest對象的操作,也就是說現在開發ajax時候,大部分已經不需要自己寫XMLHTTPRequest,而是一些框架幫著你做了。不過要想學好一門技術從基礎學起也是很必要的。

 

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved