ajax.js
var http_request = false;
function send_request(url,method) {//初始化、指定處理函數、發送請求的函數
http_request = false;
//開始初始化XMLHttpRequest對象
if(window.XMLHttpRequest) { //Mozilla 浏覽器
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {//設置MiME類別
http_request.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject) { // IE浏覽器
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) { // 異常,創建對象實例失敗
window.alert("不能創建XMLHttpRequest對象實例.");
return false;
}
switch(method){
case 1: http_request.onreadystatechange = processRequest1;break;//選擇操作函數
case 2: http_request.onreadystatechange = processRequest2;break;
case 3: http_request.onreadystatechange = processRequest3;break;
}
// 確定發送請求的方式和URL以及是否同步執行下段代碼
http_request.open("GET", url, true);
http_request.send(null);
}
// 處理返回信息的函數
function processRequest1() {//操作函數1,調入省
if (http_request.readyState == 4) { // 判定對象狀態
if (http_request.status == 200) { // 信息已經成功返回,開始處理信息
document.getElementById("statusTxt").innerHTML="";
addOptionGroup("province",http_request.responseText);
} else { //頁面不正常
alert("您所請求的頁面有異常。");
}
}else {//只要未讀取完成
document.getElementById("statusTxt").innerHTML="正則讀取數據中……";
}
}
function processRequest2() {//操作函數2,調入市
if (http_request.readyState == 4) { // 判定對象狀態
if (http_request.status == 200) { // 信息已經成功返回,開始處理信息
document.getElementById("statusTxt").innerHTML="";
addOptionGroup("city",http_request.responseText);
} else { //頁面不正常
alert("您所請求的頁面有異常。");
}
}else {//只要未讀取完成
document.getElementById("statusTxt").innerHTML="正則讀取數據中……";
}
}
function processRequest3() {//操作函數3,輸入省市
if (http_request.readyState == 4) { // 判定對象狀態
if (http_request.status == 200) { // 信息已經成功返回,開始處理信息
document.getElementById("statusTxt").innerHTML="";
document.getElementById("district").value=http_request.responseText;
} else { //頁面不正常
alert("您所請求的頁面有異常。");
}
}else {//只要未讀取完成
document.getElementById("statusTxt").innerHTML="正則讀取數據中……";
}
}
function loadProvince() {//載入省