X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;ds=inline;f=src%2Fajax%2Fajax.js;h=ccf4f14a95f89048b842a048b5b5984a8433e95b;hb=456f0fe5985eaad42eba456b9ff710771669607c;hp=66519036dace5c8d33059b777f380aaffd31ad00;hpb=ed5bda3020bd418ad8edb477ad2b1fd8b313cc04;p=jquery.git diff --git a/src/ajax/ajax.js b/src/ajax/ajax.js index 6651903..ccf4f14 100644 --- a/src/ajax/ajax.js +++ b/src/ajax/ajax.js @@ -15,6 +15,7 @@ jQuery.fn.extend({ * @param Function callback (optional) A function to be executed whenever the data is loaded (parameters: responseText, status and response itself). * @cat Ajax */ + // DEPRECATED loadIfModified: function( url, params, callback ) { this.load( url, params, callback, 1 ); }, @@ -47,6 +48,12 @@ jQuery.fn.extend({ if ( jQuery.isFunction( url ) ) return this.bind("load", url); + var off = url.indexOf(" "); + if ( off >= 0 ) { + var selector = url.slice(off, url.length); + url = url.slice(0, off); + } + callback = callback || function(){}; // Default to a GET request @@ -55,7 +62,7 @@ jQuery.fn.extend({ // If the second parameter was provided if ( params ) // If it's a function - if ( jQuery.isFunction( params.constructor ) ) { + if ( jQuery.isFunction( params ) ) { // We assume that it's the callback callback = params; params = null; @@ -75,15 +82,26 @@ jQuery.fn.extend({ data: params, ifModified: ifModified, complete: function(res, status){ + // If successful, inject the HTML into all the matched elements if ( status == "success" || !ifModified && status == "notmodified" ) - // Inject the HTML into all the matched elements - self.html(res.responseText) - // Execute all the scripts inside of the newly-injected HTML - .evalScripts() - // Execute callback - .each( callback, [res.responseText, status, res] ); - else - callback.apply( self, [res.responseText, status, res] ); + // See if a selector was specified + self.html( selector ? + // Create a dummy div to hold the results + jQuery("
") + // inject the contents of the document in, removing the scripts + // to avoid any 'Permission Denied' errors in IE + .append(res.responseText.replace(/