function createAJAX() {
if (window.ActiveXObject) { //IE
try {
return new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
return new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
return null;
}
}
} else if (window.XMLHttpRequest) { //FF,safari
return new XMLHttpRequest();
} else {
return null;
}
}
XMLHttpRequest的函式
void open(string method, string url, boolean asynch, string username, string password)開啟對伺服端的連結;method為請求方式(GET、POST);url是目標URL;asynch為非同步設定,預設是true。
void send(content)
對伺服端傳送請求,content以放XML、輸入串流、字串、JSON格式的內容,放進去會放在POST本體中發送。void setRequestHeader(string header, string value)為HTTP請求設定一個給定的 header 設定值。
void abort()
用來中斷請求。string getAllResponseHeaders()
傳回一個字串,其中包含HTTP請求的所有回應標頭。string getResponseHeader(string header)傳回一個字串,其中包含指定的回應標頭值。
XMLHttpRequest 的屬性
onreadystatechange
readyState每次改變時,都會呼叫onreadystatechange所參考的函式。
readyState
會有0到4的數值,分別表示不同的請求狀態:
0 = 未初始化的連線(uninitialized),還沒呼叫open()
1 = 載入中(loading),呼叫open(),還沒呼叫send()
2 = 已載入(loaded),呼叫send(),請求header/status準備好
3 = 互動中(interactive),正在與伺服器互動中
4 = 請求完成(completed),完成請求
responseText
伺服器傳來的請求回應文字,會設定給這個屬性。
responseXML
伺服器傳來的請求回應如果是XML,會成為DOM設定給這個屬性。
status
伺服器回應的狀態碼,例如200是OK,404為Not Found
statusText
伺服器回應的狀態文字。
參考書目:《Ajax網頁程式設計》旗標出版社
沒有留言:
張貼留言