var XHRConnection = function(args){
var _private = {
"url":"null",
"params":{},
"callback":{}
};
var __constractor = function(args){
var _this = Object.create(null);
XHRConnection.prptotype.call(_this,_private);
for(var key in args){
if(args.hasOwnProperty(key) && _private[key]){
_private[key] = args[key];
}
}
return _this;
};
if(!(this instanceof XHRConnection)){
return new XHRConnection(args);
}else{
return __constractor(args);
}
};
XHRConnection.prptotype = function(){
var _counter = 0;
var _request = new XMLHttpRequest();
return function(args){
_counter++;
var _p = args;
this.getCounter = function(){
return _counter;
};
this.doGet = function(){
_request.onreadystatechange = function(){
if(_request.readyState == 4 && _request.status== 200){
_p.callback(_request.responseText);
_request.abort();
}
};
_request.open("GET",_p.url,true);
_request.send(null);
};
};
}();
function init(){
var callback = function(response){
var _target = document.getElementById('target');
_target.innerHTML= response;
};
var args = {
"url":"test.txt",
"params":{},
"callback":callback
};
console.log(args);
var xhr = new XHRConnection(args);
xhr.doGet();
}