]> source.dussan.org Git - jquery.git/commitdiff
Simplifies how url is kept devoid of anti-cache parameter for ifModified requests...
authorjaubourg <j@ubourg.net>
Thu, 29 Nov 2012 16:16:42 +0000 (17:16 +0100)
committerjaubourg <j@ubourg.net>
Thu, 29 Nov 2012 16:16:42 +0000 (17:16 +0100)
src/ajax.js

index ca09eb9395b839a54d420c2e9607834bd6da44cf..4dc4761ea1c3ef5b44783e21dcc207668d6ab6e6 100644 (file)
@@ -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;
                                        }
                                }