|
function BmAjaxObject() { this.ajaxObj = this.getXmlHttpObject(); }
BmAjaxObject.prototype.getXmlHttpObject = function() { var _ajaxObj; try { _ajaxObj = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e1) { try { _ajaxObj = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e2) { _ajaxObj = false; } } if(!_ajaxObj && typeof(XMLHttpRequest) != 'undefined') { _ajaxObj = new XMLHttpRequest(); } return _ajaxObj; }
BmAjaxObject.prototype.doCallBack = function(url) { if(this.ajaxObj) { this.ajaxObj.open('GET', url); var othis = this; this.ajaxObj.onreadystatechange = function() {othis.readyStateChange()}; this.ajaxObj.send(null); } }
BmAjaxObject.prototype.abortCallBack = function() { if(this.ajaxObj) { this.ajaxObj.abort(); } }
BmAjaxObject.prototype.readyStateChange = function() { if(this.ajaxObj.readyState == 1) { this.onLoading(); } else if(this.ajaxObj.readyState == 2) { this.onLoaded(); } else if(this.ajaxObj.readyState == 3) { this.onInteractive(); } else if(this.ajaxObj.readyState == 4) { if(this.ajaxObj.status == 0) { this.onAbort(); } else if(this.ajaxObj.status == 200) { this.onComplete(this.ajaxObj.responseText, this.ajaxObj.responseXML); } else { this.onError(this.ajaxObj.status, this.ajaxObj.statusText, this.ajaxObj.responseText); } } }
BmAjaxObject.prototype.onLoading = function() {}
BmAjaxObject.prototype.onLoaded = function() {}
BmAjaxObject.prototype.onInteractive = function() {}
BmAjaxObject.prototype.onComplete = function(responseText, responseXml) {}
BmAjaxObject.prototype.onError = function(status, statusText, responseText) {}
BmAjaxObject.prototype.onAbort = function() {} |