stop();
+ jQuery('#foo').ajaxSend(function( evt, xhr ) {
+ xhr.setRequestHeader( "ajax-send", "test" );
+ });
+
var requestHeaders = {
- siMPle: "value",
- "SometHing-elsE": "other value",
- OthEr: "something else"
+ siMPle: "value",
+ "SometHing-elsE": "other value",
+ OthEr: "something else"
},
list = [],
i;
for( i in requestHeaders ) {
list.push( i );
}
+ list.push( "ajax-send" );
jQuery.ajax(url("data/headers.php?keys="+list.join( "_" ) ), {
+
headers: requestHeaders,
success: function( data , _ , xhr ) {
var tmp = [];
for ( i in requestHeaders ) {
tmp.push( i , ": " , requestHeaders[ i ] , "\n" );
}
+ tmp.push( "ajax-send: test\n" );
tmp = tmp.join( "" );
equals( data , tmp , "Headers were sent" );
equals( xhr.getResponseHeader( "Sample-Header" ) , "Hello World" , "Sample header received" );
- start();
},
error: function(){ ok(false, "error"); }
- });
+
+ }).then( start, start );
});
});
-test(".ajax() - 304", function() {
- expect( 1 );
- stop();
-
- jQuery.ajax({
- url: url("data/notmodified.php"),
- success: function(){ ok(true, "304 ok"); },
- // Do this because opera simply refuses to implement 304 handling :(
- // A feature-driven way of detecting this would be appreciated
- // See: http://gist.github.com/599419
- error: function(){ ok(jQuery.browser.opera, "304 not ok "); },
- complete: function(xhr){ start(); }
- });
-});
-
-test(".load()) - 404 error callbacks", function() {
+test(".load() - 404 error callbacks", function() {
expect( 6 );
stop();
});
+test("jQuery.ajax - overrideMimeType", function() {
+
+ expect( 2 );
+
+ stop();
+
+ jQuery.when(
+
+ jQuery.ajax( url("data/json.php") , {
+ beforeSend: function( xhr ) {
+ xhr.overrideMimeType( "application/json" );
+ },
+ success: function( json ) {
+ ok( json.data , "Mimetype overriden using beforeSend" );
+ }
+ }),
+
+ jQuery.ajax( url("data/json.php") , {
+ mimeType: "application/json",
+ success: function( json ) {
+ ok( json.data , "Mimetype overriden using mimeType option" );
+ }
+ })
+
+ ).then( start , start );
+
+});
+
+test("jQuery.ajax - abort in prefilter", function() {
+
+ expect( 1 );
+
+ jQuery.ajaxPrefilter(function( options, _, jqXHR ) {
+ if ( options.abortInPrefilter ) {
+ jqXHR.abort();
+ }
+ });
+
+ strictEqual( jQuery.ajax({
+ abortInPrefilter: true,
+ error: function() {
+ ok( false, "error callback called" );
+ }
+ }), false, "Request was properly aborted early by the prefilter" );
+
+});
+
test("jQuery.ajax - active counter", function() {
ok( jQuery.active == 0, "ajax active counter should be zero: " + jQuery.active );
});