(Re) Fixes #8884 in a way that keeps the format of the headers map sent to transports natural.

1.7/enhancement_8685
jaubourg 2011-04-19 00:29:20 -07:00
parent 8d3754751d
commit 3a3842c669
2 changed files with 6 additions and 3 deletions

View File

@ -95,7 +95,7 @@ function addToPrefiltersOrTransports( structure ) {
};
}
//Base inspection function for prefilters and transports
// Base inspection function for prefilters and transports
function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR,
dataType /* internal */, inspected /* internal */ ) {
@ -389,6 +389,7 @@ jQuery.extend({
ifModifiedKey,
// Headers (they are sent all at once)
requestHeaders = {},
requestHeadersNames = {},
// Response headers
responseHeadersString,
responseHeaders,
@ -412,7 +413,9 @@ jQuery.extend({
// Caches the header
setRequestHeader: function( name, value ) {
if ( !state ) {
requestHeaders[ name.toLowerCase() ] = { n: name, v: value };
var lname = name.toLowerCase();
name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;
requestHeaders[ name ] = value;
}
return this;
},

View File

@ -104,7 +104,7 @@ if ( jQuery.support.ajax ) {
// Need an extra try/catch for cross domain requests in Firefox 3
try {
for ( i in headers ) {
xhr.setRequestHeader( headers[ i ].n, headers[ i ].v );
xhr.setRequestHeader( i, headers[ i ] );
}
} catch( _ ) {}