remove trailing spaces
[jquery.git] / src / ajax.js
index 55fc25d..18d0f96 100644 (file)
@@ -71,7 +71,7 @@ jQuery.fn.extend({
                .filter(function(){
                        return this.name && !this.disabled &&
                                (this.checked || /select|textarea/i.test(this.nodeName) ||
-                                       /text|hidden|password/i.test(this.type));
+                                       /text|hidden|password|search/i.test(this.type));
                })
                .map(function(i, elem){
                        var val = jQuery(this).val();
@@ -95,7 +95,7 @@ jQuery.each( "ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".sp
 var jsc = now();
 
 jQuery.extend({
-  
+
        get: function( url, data, callback, type ) {
                // shift arguments if data argument was ommited
                if ( jQuery.isFunction( data ) ) {
@@ -143,13 +143,15 @@ jQuery.extend({
                url: location.href,
                global: true,
                type: "GET",
-               timeout: 0,
                contentType: "application/x-www-form-urlencoded",
                processData: true,
                async: true,
+               /*
+               timeout: 0,
                data: null,
                username: null,
                password: null,
+               */
                // Create the request object; Microsoft failed to properly
                // implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available
                // This function can be overriden by calling jQuery.ajaxSetup
@@ -265,6 +267,9 @@ jQuery.extend({
                                                done = true;
                                                success();
                                                complete();
+
+                                               // Handle memory leak in IE
+                                               script.onload = script.onreadystatechange = null;
                                                head.removeChild( script );
                                        }
                                };
@@ -378,6 +383,9 @@ jQuery.extend({
                                // Fire the complete handlers
                                complete();
 
+                               if ( isTimeout )
+                                       xhr.abort();
+
                                // Stop memory leaks
                                if ( s.async )
                                        xhr = null;
@@ -392,13 +400,8 @@ jQuery.extend({
                        if ( s.timeout > 0 )
                                setTimeout(function(){
                                        // Check to see if the request is still happening
-                                       if ( xhr ) {
-                                               // Cancel the request
-                                               xhr.abort();
-
-                                               if( !requestDone )
-                                                       onreadystatechange( "timeout" );
-                                       }
+                                       if ( xhr && !requestDone )
+                                               onreadystatechange( "timeout" );
                                }, s.timeout);
                }
 
@@ -458,8 +461,7 @@ jQuery.extend({
                try {
                        // IE error sometimes returns 1223 when it should be 204 so treat it as success, see #1450
                        return !xhr.status && location.protocol == "file:" ||
-                               ( xhr.status >= 200 && xhr.status < 300 ) || xhr.status == 304 || xhr.status == 1223 ||
-                               jQuery.browser.safari && xhr.status === undefined;
+                               ( xhr.status >= 200 && xhr.status < 300 ) || xhr.status == 304 || xhr.status == 1223;
                } catch(e){}
                return false;
        },
@@ -470,8 +472,7 @@ jQuery.extend({
                        var xhrRes = xhr.getResponseHeader("Last-Modified");
 
                        // Firefox always returns 200. check Last-Modified date
-                       return xhr.status == 304 || xhrRes == jQuery.lastModified[url] ||
-                               jQuery.browser.safari && xhr.status === undefined;
+                       return xhr.status == 304 || xhrRes == jQuery.lastModified[url];
                } catch(e){}
                return false;
        },
@@ -483,7 +484,7 @@ jQuery.extend({
 
                if ( xml && data.documentElement.tagName == "parsererror" )
                        throw "parsererror";
-                       
+
                // Allow a pre-filtering function to sanitize the response
                // s != null is checked to keep backwards compatibility
                if( s && s.dataFilter )
@@ -498,9 +499,9 @@ jQuery.extend({
 
                        // Get the JavaScript object, if JSON is used.
                        if ( type == "json" )
-                               data = eval("(" + data + ")");
+                               data = window["eval"]("(" + data + ")");
                }
-               
+
                return data;
        },