diff --git a/lib/client/dom.js b/lib/client/dom.js index 76f4ac8a..8223a7e0 100644 --- a/lib/client/dom.js +++ b/lib/client/dom.js @@ -613,8 +613,7 @@ var CloudCmd, Util, DOM, CloudFunc; }, LoaderProto = function() { - var XMLHTTP, - Loader = this; + var Loader = this; /** * Function gets id by src @@ -646,23 +645,23 @@ var CloudCmd, Util, DOM, CloudFunc; * @param pParams */ this.ajax = function(pParams) { - var lRet = Util.checkObjTrue(pParams, ['url', 'success']); + var xhr, p, lType, + lRet = Util.checkObjTrue(pParams, ['url', 'success']); + if (lRet) { - var p = pParams, - lType = p.type || p.method || 'GET'; + p = pParams, + lType = p.type || p.method || 'GET'; + xhr = new XMLHttpRequest(); - if (!XMLHTTP) - XMLHTTP = new XMLHttpRequest(); + xhr.open(lType, pParams.url, true); + xhr.send(p.data); - XMLHTTP.open(lType, pParams.url, true); - XMLHTTP.send(p.data); - - XMLHTTP.onreadystatechange = function(pEvent) { - if (XMLHTTP.readyState === 4 /* Complete */) { - var lJqXHR = pEvent.target, - lType = XMLHTTP.getResponseHeader('content-type'); + Events.add('readystatechange', function(pEvent) { + if (xhr.readyState === 4 /* Complete */) { + var lJqXHR = pEvent.target, + lType = xhr.getResponseHeader('content-type'); - if (XMLHTTP.status === 200 /* OK */) { + if (xhr.status === 200 /* OK */) { var lData = lJqXHR.response; /* If it's json - parse it as json */ @@ -683,7 +682,7 @@ var CloudCmd, Util, DOM, CloudFunc; Util.exec(p.error, lJqXHR); } } - }; + }, xhr); } return lRet; };