www.gusucode.com > 08CMS空白站群系统 3.3 繁体 UTF-8 > upload/include/js/ajax.js
var Ajaxs = new Array(); var xml_http_building_link = '請等待,正在建立連接...'; var xml_http_sending = '請等待,正在發送數據...'; var xml_http_loading = '請等待,正在接受數據...'; var xml_http_load_failed = '通信失敗,請刷新重新嘗試!'; var xml_http_data_in_processed = '通信成功,數據正在處理中...'; function Ajax(recvType, statusId) { var aj = new Object(); aj.statusId = statusId ? document.getElementById(statusId) : null; aj.targetUrl = ''; aj.sendString = ''; aj.recvType = recvType ? recvType : 'XML'; aj.resultHandle = null; aj.createXMLHttpRequest = function() { var request = false; if(window.XMLHttpRequest) { request = new XMLHttpRequest(); if(request.overrideMimeType) { request.overrideMimeType('text/xml'); } } else if(window.ActiveXObject) { var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP']; for(var i=0; i<versions.length; i++) { try { request = new ActiveXObject(versions[i]); if(request) { return request; } } catch(e) { //alert(e.message); } } } return request; } aj.XMLHttpRequest = aj.createXMLHttpRequest(); aj.processHandle = function() { if(aj.statusId) { aj.statusId.style.display = ''; } if(aj.XMLHttpRequest.readyState == 1 && aj.statusId) { aj.statusId.innerHTML = xml_http_building_link; } else if(aj.XMLHttpRequest.readyState == 2 && aj.statusId) { aj.statusId.innerHTML = xml_http_sending; } else if(aj.XMLHttpRequest.readyState == 3 && aj.statusId) { aj.statusId.innerHTML = xml_http_loading; } else if(aj.XMLHttpRequest.readyState == 4) { if(aj.XMLHttpRequest.status == 200) { for(k in Ajaxs) { if(Ajaxs[k] == aj.targetUrl) { Ajaxs[k] = null; } } if(aj.statusId) { aj.statusId.innerHTML = xml_http_data_in_processed; aj.statusId.style.display = 'none'; } if(aj.recvType == 'HTML') { aj.resultHandle(aj.XMLHttpRequest.responseText, aj); } else if(aj.recvType == 'XML') { //alert(aj.XMLHttpRequest.responseText); aj.resultHandle(aj.XMLHttpRequest.responseXML.lastChild.firstChild.nodeValue, aj); } } else { if(aj.statusId) { aj.statusId.innerHTML = xml_http_load_failed; } } } } aj.get = function(targetUrl, resultHandle) { if(in_array(targetUrl, Ajaxs)) { return false; } else { Ajaxs.push(targetUrl); } aj.targetUrl = targetUrl; aj.XMLHttpRequest.onreadystatechange = aj.processHandle; aj.resultHandle = resultHandle; if(window.XMLHttpRequest) { aj.XMLHttpRequest.open('GET', aj.targetUrl); aj.XMLHttpRequest.send(null); } else { aj.XMLHttpRequest.open("GET", targetUrl, true); aj.XMLHttpRequest.send(); } } aj.post = function(targetUrl, sendString, resultHandle) { if(in_array(targetUrl, Ajaxs)) { return false; } else { Ajaxs.push(targetUrl); } aj.targetUrl = targetUrl; aj.sendString = sendString; aj.XMLHttpRequest.onreadystatechange = aj.processHandle; aj.resultHandle = resultHandle; aj.XMLHttpRequest.open('POST', targetUrl); aj.XMLHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); aj.XMLHttpRequest.send(aj.sendString); } return aj; }