]> source.dussan.org Git - jquery.git/commitdiff
For much improved consistency, jqXHR.abort() sets a default statusText of 'canceled...
authorjaubourg <j@ubourg.net>
Mon, 2 Apr 2012 00:04:46 +0000 (02:04 +0200)
committerjaubourg <j@ubourg.net>
Mon, 2 Apr 2012 00:04:46 +0000 (02:04 +0200)
src/ajax.js
test/unit/ajax.js

index ca9b63322bcb0c66cf764aea91fd4b19850ab9a9..9aa715cd2c3da2fe6ca651f37441ca69678c5541 100644 (file)
@@ -426,6 +426,8 @@ jQuery.extend({
                        fireGlobals,
                        // Loop variable
                        i,
+                       // Default abort message
+                       strAbort = "canceled",
                        // Fake xhr
                        jqXHR = {
 
@@ -471,7 +473,7 @@ jQuery.extend({
 
                                // Cancel the request
                                abort: function( statusText ) {
-                                       statusText = statusText || "abort";
+                                       statusText = statusText || strAbort;
                                        if ( transport ) {
                                                transport.abort( statusText );
                                        }
@@ -716,12 +718,14 @@ jQuery.extend({
 
                // Allow custom headers/mimetypes and early abort
                if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {
-                               // Abort if not done already
-                               done( 0, "canceled" );
-                               return jqXHR;
+                               // Abort if not done already and return
+                               return jqXHR.abort();
 
                }
 
+               // aborting is no longer a cancelation
+               strAbort = "abort";
+
                // Install callbacks on deferreds
                for ( i in { success: 1, error: 1, complete: 1 } ) {
                        jqXHR[ i ]( s[ i ] );
index 431f14094d1570b2c241b8fb0fa197c8368c5d2f..963bcae7ace7a50894b3356ce962c28b9675299b 100644 (file)
@@ -895,7 +895,7 @@ test("jQuery.ajax - beforeSend, cancel request manually", function() {
                        ok( false, "request didn't get canceled" );
                }
        }).fail(function( _, reason ) {
-               strictEqual( reason, "abort", "manually canceled request must fail with 'abort' status text" );
+               strictEqual( reason, "canceled", "manually canceled request must fail with 'canceled' status text" );
        });
 });
 
@@ -2324,7 +2324,7 @@ test("jQuery.ajax - abort in prefilter", function() {
                        ok( false, "error callback called" );
                }
        }).fail(function( _, reason ) {
-               strictEqual( reason, 'abort', "Request aborted by the prefilter must fail with 'abort' status text" );
+               strictEqual( reason, 'canceled', "Request aborted by the prefilter must fail with 'canceled' status text" );
        });
 
 });