themes/base: several IE related fixes in XHR class
authorJo-Philipp Wich <jow@openwrt.org>
Thu, 18 Nov 2010 07:21:14 +0000 (07:21 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Thu, 18 Nov 2010 07:21:14 +0000 (07:21 +0000)
themes/base/htdocs/luci-static/resources/xhr.js

index 9ce302683c466f26dda8610e5e043b9503f72f0c..3a30e04686490bda56314b97f07881f5779f486b 100644 (file)
@@ -56,17 +56,17 @@ XHR = function()
 
                xhr.onreadystatechange = function()
                {
-                       var json = null;
-                       if( xhr.getResponseHeader("Content-Type") == "application/json" ) {
-                               try {
-                                       json = eval('(' + xhr.responseText + ')');
-                               }
-                               catch(e) {
-                                       json = null;
+                       if( xhr.readyState == 4 ) {
+                               var json = null;
+                               if( xhr.getResponseHeader("Content-Type") == "application/json" ) {
+                                       try {
+                                               json = eval('(' + xhr.responseText + ')');
+                                       }
+                                       catch(e) {
+                                               json = null;
+                                       }
                                }
-                       }
 
-                       if( xhr.readyState == 4 ) {
                                callback( xhr, json );
                        }
                }
@@ -144,6 +144,9 @@ XHR = function()
 
        this._encode = function(obj)
        {
+               obj = obj ? obj : { };
+               obj['_'] = Math.random();
+
                if( typeof obj == 'object' )
                {
                        var code = '';
@@ -152,6 +155,7 @@ XHR = function()
                        for( var k in obj )
                                code += ( code ? '&' : '' ) +
                                        k + '=' + encodeURIComponent( obj[k] );
+
                        return code;
                }