function CreateXmlHttp() { //非IE瀏覽器建立XmlHttpRequest對象的方法
if (window.XmlHttpRequest) { xmlhttp = new XmlHttpRequest(); } //IE瀏覽器建立XmlHttpRequest對象的方法
if (window.ActiveXObject) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("msxml2.XMLHTTP"); } catch (ex) { } } } }
onreadystatechange 每次狀態改變所觸發事件的事件處理程序。javascript
responseText 從服務器進程返回數據的字符串形式。java
responseXML 從服務器進程返回的DOM兼容的文檔數據對象。ajax
status 從服務器返回的數字代碼,好比常見的404(未找到)和200(已就緒)瀏覽器
status Text 伴隨狀態碼的字符串信息服務器
readyState 對象狀態值異步
0 (未初始化) 對象已創建,可是還沒有初始化(還沒有調用open方法)優化
1 (初始化) 對象已創建,還沒有調用send方法url
2 (發送數據) send方法已調用,可是當前的狀態及http頭未知spa
3 (數據傳送中) 已接收部分數據,由於響應及http頭不全,這時經過responseBody和responseText獲取部分數據會出現錯誤,code
4 (完成) 數據接收完畢,此時能夠經過經過responseXml和responseText獲取完整的迴應數據
function SendAsyncRequest() { var data = document.getElementById("XXId").value; CreateXmlHttp(); //建立XmlHttpRequest對象
if (!xmlhttp) { //判斷對象是否建立成功
alert("建立xmlhttp對象異常!"); return false; } xmlhttp.open("POST", url, false); //開始發送異步請求
xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState == 4 && xmlhttp.status == 200 ) { document.getElementById("XXShowId").innerHTML = xmlhttp.ResponseText; //數據接收完畢
} } xmlhttp.send(); }