From 8a79be7894b352c0947a8b067f83b8ef388dfc48 Mon Sep 17 00:00:00 2001 From: jaubourg Date: Thu, 29 Nov 2012 17:16:42 +0100 Subject: [PATCH] Simplifies how url is kept devoid of anti-cache parameter for ifModified requests. Also, renames ifModifiedKey to cacheURL so that it now conveys the variable's nature rather than its purpose. -5 min/gzipped. --- src/ajax.js | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/ajax.js b/src/ajax.js index ca09eb939..4dc4761ea 100644 --- a/src/ajax.js +++ b/src/ajax.js @@ -317,8 +317,8 @@ jQuery.extend({ options = options || {}; var transport, - // ifModified key - ifModifiedKey, + // URL without anti-cache param + cacheURL, // Response headers responseHeadersString, responseHeaders, @@ -474,39 +474,39 @@ jQuery.extend({ // Determine if request has content s.hasContent = !rnoContent.test( s.type ); + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + cacheURL = s.url; + // More options handling for requests with no content if ( !s.hasContent ) { // If data is available, append data to url if ( s.data ) { - s.url += ( ajax_rquery.test( s.url ) ? "&" : "?" ) + s.data; + cacheURL = ( s.url += ( ajax_rquery.test( cacheURL ) ? "&" : "?" ) + s.data ); // #9682: remove data so that it's not used in an eventual retry delete s.data; } - // Get ifModifiedKey before adding the anti-cache parameter - ifModifiedKey = s.url; - // Add anti-cache in url if needed if ( s.cache === false ) { - s.url = rts.test( ifModifiedKey ) ? + s.url = rts.test( cacheURL ) ? // If there is already a '_' parameter, set its value - ifModifiedKey.replace( rts, "$1_=" + ajax_nonce++ ) : + cacheURL.replace( rts, "$1_=" + ajax_nonce++ ) : // Otherwise add one to the end - ifModifiedKey + ( ajax_rquery.test( ifModifiedKey ) ? "&" : "?" ) + "_=" + ajax_nonce++; + cacheURL + ( ajax_rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ajax_nonce++; } } // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. if ( s.ifModified ) { - ifModifiedKey = ifModifiedKey || s.url; - if ( jQuery.lastModified[ ifModifiedKey ] ) { - jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ ifModifiedKey ] ); + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); } - if ( jQuery.etag[ ifModifiedKey ] ) { - jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ ifModifiedKey ] ); + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); } } @@ -617,11 +617,11 @@ jQuery.extend({ if ( s.ifModified ) { modified = jqXHR.getResponseHeader("Last-Modified"); if ( modified ) { - jQuery.lastModified[ ifModifiedKey ] = modified; + jQuery.lastModified[ cacheURL ] = modified; } modified = jqXHR.getResponseHeader("etag"); if ( modified ) { - jQuery.etag[ ifModifiedKey ] = modified; + jQuery.etag[ cacheURL ] = modified; } } -- 2.39.5