aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ajax.js7
-rw-r--r--src/ajax/xhr.js2
2 files changed, 6 insertions, 3 deletions
diff --git a/src/ajax.js b/src/ajax.js
index 4f8fee6c1..a16717b00 100644
--- a/src/ajax.js
+++ b/src/ajax.js
@@ -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;
},
diff --git a/src/ajax/xhr.js b/src/ajax/xhr.js
index ba4c3ec7e..5dbc33d3f 100644
--- a/src/ajax/xhr.js
+++ b/src/ajax/xhr.js
@@ -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( _ ) {}