}
// Set the correct header, if data is being sent
- if ( ( s.data && s.hasContent ) || options.contentType ) {
+ if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
requestHeaders[ "content-type" ] = s.contentType;
}
foreach( $_SERVER as $key => $value ) {
- if ( substr( $key , 0 , 5 ) == "HTTP_" ) {
-
- $key = str_replace( "_" , "-" , substr( $key , 5) );
- $headers[ $key ] = $value;
-
- }
+ $key = str_replace( "_" , "-" , substr( $key , 0 , 5 ) == "HTTP_" ? substr( $key , 5 ) : $key );
+ $headers[ $key ] = $value;
}
foreach( explode( "_" , $_GET[ "keys" ] ) as $key ) {
- echo "$key: " . $headers[ strtoupper( $key ) ] . "\n";
+ echo "$key: " . @$headers[ strtoupper( $key ) ] . "\n";
}
});
+test(".ajax() - contentType" , function() {
+
+ expect( 2 );
+
+ stop();
+
+ var count = 2;
+
+ function restart() {
+ if ( ! --count ) {
+ start();
+ }
+ }
+
+ jQuery.ajax(url("data/headers.php?keys=content-type" ), {
+ contentType: "test",
+ success: function( data ) {
+ strictEqual( data , "content-type: test\n" , "Test content-type is sent when options.contentType is set" );
+ },
+ complete: function() {
+ restart();
+ }
+ });
+
+ jQuery.ajax(url("data/headers.php?keys=content-type" ), {
+ contentType: false,
+ success: function( data ) {
+ strictEqual( data , "content-type: \n" , "Test content-type is not sent when options.contentType===false" );
+ },
+ complete: function() {
+ restart();
+ }
+ });
+
+});
+
test(".ajax() - hash", function() {
expect(3);