function ajax() { //--------------------- // Private Declarations //--------------------- var _request = null; var _this = null; //-------------------- // Public Declarations //-------------------- this.GetResponseXML = function() { return (_request) ? _request.responseXML : null; } this.GetResponseText = function() { return (_request) ? _request.responseText : null; } this.GetRequestObject = function() { return _request; } this.InitializeRequest = function(Method, Uri) { _InitializeRequest(); _this = this; switch (arguments.length) { case 2: _request.open(Method, Uri); break; case 3: _request.open(Method, Uri, arguments[2]); break; } if (arguments.length >= 4) _request.open(Method, Uri, arguments[2], arguments[3]); this.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); } this.SetRequestHeader = function(Field, Value) { if (_request) _request.setRequestHeader(Field, Value); } this.Commit = function(Data) { if (_request) _request.send(Data); } this.Close = function() { if (_request) _request.abort(); } //--------------------------- // Public Event Declarations. //--------------------------- this.OnUninitialize = function() { }; this.OnLoading = function() { }; this.OnLoaded = function() { }; this.OnInteractive = function() { }; this.OnSuccess = function() { }; this.OnFailure = function() { }; //--------------------------- // Private Event Declarations //--------------------------- function _OnUninitialize() { _this.OnUninitialize(); }; function _OnLoading() { _this.OnLoading(); }; function _OnLoaded() { _this.OnLoaded(); }; function _OnInteractive() { _this.OnInteractive(); }; function _OnSuccess() { _this.OnSuccess(); }; function _OnFailure() { _this.OnFailure(); }; //------------------ // Private Functions //------------------ function _InitializeRequest() { _request = _GetRequest(); _request.onreadystatechange = _StateHandler; } function _StateHandler() { switch (_request.readyState) { case 0: window.setTimeout("void(0)", 100); _OnUninitialize(); break; case 1: window.setTimeout("void(0)", 100); _OnLoading(); break; case 2: window.setTimeout("void(0)", 100); _OnLoaded(); break; case 3: window.setTimeout("void(0)", 100); _OnInteractive(); break; case 4: if (_request.status == 200) _OnSuccess(); else _OnFailure(); return; break; } } function _GetRequest() { var obj; try { obj = new XMLHttpRequest(); } catch (error) { try { obj = new ActiveXObject("Microsoft.XMLHTTP"); } catch (error) { return null; } } return obj; } }
Text
// someAJAX.php printf("This is some ajax, yo");