function rewinajax() { var self = null; var begin_call_time; var end_call_time; var returnedStr; self = this; var disarea=null; self.onloading = function(http_request) { if(this.disarea!=null){ this.disarea.style.visibility="visible"; //this.disarea.innerHTML="  正在加载中...."; } }; self.onloaded = function(http_request) { if(this.disarea!=null){ this.disarea.style.visibility="visible"; //this.disarea.innerHTML="  加载完毕...."; } }; self.oninteractive = function(http_request) { if(this.disarea!=null){ this.disarea.style.visibility="visible"; //this.disarea.innerHTML="  准备显示...."; } //this.disarea.style.display="none"; }; self.oncomplete = function(http_request) { if(this.disarea!=null){ this.disarea.style.visibility="hidden"; //this.disarea.innerHTML="交互完成"; } }; this.returnedStr=""; //Get the XMLHttpRequest Object this.getRequestObject = function() { //if (rewinajaxDebug) this.DebugMessage("Initializing Request Object.."); var req; //开始初始化XMLHttpRequest对象 if(window.XMLHttpRequest) { //Mozilla 浏览器 req = new XMLHttpRequest(); if (req.overrideMimeType) {//设置MiME类别 req.overrideMimeType('text/xml'); } } else if (window.ActiveXObject) { // IE浏览器 try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if(!req && typeof XMLHttpRequest != "undefined") req = new XMLHttpRequest(); //if (rewinajaxDebug) { // if (!req) this.DebugMessage("Request Object Instantiation failed."); //} return req; } this.call = function(url, oncompleteHandler) { begin_call_time = new Date(); var http_request = this.getRequestObject(); http_request.open("POST", url, false); http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); http_request.setRequestHeader("charset","utf-8"); http_request.onreadystatechange = function (){ switch(http_request.readyState) { case 1: if (typeof self.onloading == "function") { self.onloading(http_request); } break; case 2: if (typeof self.onloaded == "function") { self.onloaded(http_request); } break; case 3: if (typeof self.oninteractive == "function") { self.oninteractive(http_request); } break; case 4: end_call_time = new Date(); if (typeof self.oncomplete == "function") { self.oncomplete(http_request); } if (typeof oncompleteHandler == "function") { oncompleteHandler(http_request); } break; } }; // 确定发送请求的方式和URL以及是否同步执行下段代码 http_request.send(null); } function setResStr (req){ self.returnedStr = req.responseText; } this.send_request = function(url) { self.call(url,setResStr); } this.setDisdiv=function(divobj){ this.disarea=divobj; } this.askForData = function(url,func0){ self.call(url,setResStr); if (typeof func0 == "function") { func0(this.returnedStr); } } } var rewinajax = new rewinajax();