_load: jQuery.fn.load,
load: function( url, params, callback ) {
- if ( typeof url != 'string' )
+ if ( typeof url !== "string" )
return this._load( url );
var off = url.indexOf(" ");
params = null;
// Otherwise, build a param string
- } else if( typeof params == 'object' ) {
+ } else if( typeof params === "object" ) {
params = jQuery.param( params );
type = "POST";
}
.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();
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
type = s.type.toUpperCase();
// convert data if not already a string
- if ( s.data && s.processData && typeof s.data != "string" )
+ if ( s.data && s.processData && typeof s.data !== "string" )
s.data = jQuery.param(s.data);
// Handle JSONP Parameter Callbacks
done = true;
success();
complete();
+
+ // Handle memory leak in IE
+ script.onload = script.onreadystatechange = null;
head.removeChild( script );
}
};
// Fire the complete handlers
complete();
+ if ( isTimeout )
+ xhr.abort();
+
// Stop memory leaks
if ( s.async )
xhr = null;
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);
}
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;
},
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;
},
data = s.dataFilter( data, type );
// The filter can actually parse the response
- if( typeof data == 'string' ){
+ if( typeof data === "string" ){
// If the type is "script", eval it in global context
if ( type == "script" )
// Get the JavaScript object, if JSON is used.
if ( type == "json" )
- data = eval("(" + data + ")");
+ data = window["eval"]("(" + data + ")");
}
return data;