From 6d9dc6b636eb1578f79774db44b4861f7d749b5c Mon Sep 17 00:00:00 2001 From: coderaiser Date: Tue, 10 Sep 2013 09:16:48 +0000 Subject: [PATCH] refactor(dom) ajax, global XMLHTTP -> local xhr --- lib/client/dom.js | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) 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; };