Skip to content
Permalink
Browse files

Simplifies how url is kept devoid of anti-cache parameter for ifModif…

…ied requests. Also, renames ifModifiedKey to cacheURL so that it now conveys the variable's nature rather than its purpose. -5 min/gzipped.
  • Loading branch information
jaubourg committed Nov 29, 2012
1 parent 6378a19 commit 8a79be7894b352c0947a8b067f83b8ef388dfc48
Showing with 16 additions and 16 deletions.
  1. +16 −16 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;
}
}

1 comment on commit 8a79be7

@gibson042

This comment has been minimized.

Copy link
Member

gibson042 commented on 8a79be7 Nov 29, 2012

Nice! 👍

Please sign in to comment.
You can’t perform that action at this time.