1. 程式人生 > >AJAX基本格式步驟

AJAX基本格式步驟

cati ner ive ++ function net 創建 是否可用 格式


第一步:創建XMLHttpRequest對象 var xmlhttp; //兼容性 if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }

代碼解釋:

  1. 首先創建一個作為 XMLHttpRequest 對象使用的 XMLHttp 變量。把它的值設置為 null。
  2. 然後測試 window.XMLHttpRequest 對象是否可用。在新版本的 Firefox, Mozilla, Opera 以及 Safari 瀏覽器中,該對象是可用的。
  3. 如果可用,則用它創建一個新對象:XMLHttp=new XMLHttpRequest()
  4. 如果不可用,則檢測 window.ActiveXObject 是否可用。在 Internet Explorer version 5.5 及更高的版本中,該對象是可用的。
  5. 如果可用,使用它來創建一個新對象:XMLHttp=new ActiveXObject()
第二步:確定來自服務器的響應是否XML , async的值 1.如果來自服務器的響應並非 XML,請使用 responseText 屬性 ··當使用 async=true 時,請規定在響應處於 onreadystatechange 事件中的就緒狀態時執行的函數: xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } } ··當您使用 async=false
時,請不要編寫 onreadystatechange 函數 - 把代碼放到 send() 語句後面即可: document.getElementById("myDiv").innerHTML=xmlhttp.responseText; 2.如果來自服務器的響應是 XML,而且需要作為 XML 對象進行解析,請使用 responseXML 屬性: xmlDoc=xmlhttp.responseXML; txt=""; x=xmlDoc.getElementsByTagName("標記"); for (i=0;i<x.length;i++) { txt=txt + x[i].childNodes[0].nodeValue + "<br />"; } document.getElementById("myDiv").innerHTML=txt; 第三步:向服務器發送請求:
xmlhttp.open("GET","test1.txt",true); xmlhttp.send(); xmlhttp.open("POST","ajax_test.asp",true); xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");//請求頭應在open和send之間 xmlhttp.send("fname=Bill&lname=Gates");

AJAX基本格式步驟