一、XMLHttpRequest對象
1.Ajax能夠是實現異步傳輸,所依賴的就是JavaScript中的XMLHttpRequest
2.XMLHttpRequest對象是XMLHttp組件的對象,它是一個抽象對象,允許腳本從服務器獲取返回的eXML數據或將數據發送到服務器端
3.XMLHttpRequest可以實現客戶端與服務器只進行數據層面的交互,不必每次刷新頁面
4.XMLHttpRequest最早在Microsoft Internet Explorer5.0中作為一個ActiveX控件提供,后受到廣泛應用
5.在使用XMLHttpRequest發送請求和處理相應之前需要先創建一個XMLHttpRequest對象
6.XMLHttpRequest不是W3C標準,可采用多種方法用JavaScript來創建XMLHttpRequest實例
7.在IE中XMLHttpRequest實現為一個ActiveX控件,而其他瀏覽器則實現為一個JavaScript內置對象
二、XMLHttpRequest對象創建
<script type="text/javascript">
三、XMLHttpRequest對象屬性(接收并顯示當前狀態)
1.readySate-記錄返回請求的狀態
。0-為初始化:對象已經建立,單位初始化,open方法還未調用;
。1-初始化:對象已經建立,但還未調用send方法發送請求;
。2-發送數據:send方法已調用,但HTTP頭未知;
。3-數據傳輸中:已經接受部分數據,但響應不完全;
。4-完成:數據接受完成,此時才可以獲取完整的返回數據
2.responseText-接收客戶端的HTTP響應的文本內容
。只讀
。當readySate為1/2,responseText值是一個空字符串;
。當readyState為3,響應信息正在接受還未完成;
。當readyState為4,表示可以響應信息已經接收完成
。xmlHttp默認響應數據編碼為UTF-8
3.responseXML-在send()執行后,將返回的信息格式化為XML Document對象
。Content-Type指定的MIME類型應該為text/HTML
。如果Content-Type不包含這種類型,responseXML在接收時將會得到一個null值
4.status-在send()執行后,可使用status讀取事物狀態
。長整型數據
。返回當前請求的HTTP的狀態碼
。只有當readyState為3或4時才使用該屬性,否則讀取status會發生錯誤
。100-客戶必須繼續發送請求
。200-交易成功
。400-錯誤請求
。403-請求不允許
。404-沒有發現文件、查詢、URL
。500-服務器內部錯誤
。502服務器暫時不可使用
。505-服務器不支持或拒絕不支持請求頭中的HTTP版本
5.statusText-send()執行后,可通過statusText讀取事物狀態
。返回當前HTTP請求的狀態行
。只有當readyState為3或4時才可使用該屬性,否則讀取state會發生錯誤
6.Onreadystatechange-readyState發生變化時所要執行的操作
。通常將處理函數名稱賦予onreadystatechange來為XMLHttpRequest對象指定事件處理
。在事件處理函數中根據readyState的狀態值進行相應的處理
新聞熱點
疑難解答
圖片精選