From e454e8305d7c159c3bcffafeb09ea98b342777ad Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=B6rn=20Zaefferer?= Date: Tue, 22 Apr 2008 22:07:17 +0000 Subject: [PATCH] jquery.ajax: improvement for #2688, added test --- src/ajax.js | 7 ++----- test/unit/ajax.js | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/ajax.js b/src/ajax.js index 77537e7..4b84538 100644 --- a/src/ajax.js +++ b/src/ajax.js @@ -291,11 +291,8 @@ jQuery.extend({ } catch(e){} // Allow custom headers/mimetypes - if ( s.beforeSend ) - var beforeSendSuccess = s.beforeSend(xml, s); - - if( beforeSendSuccess === false ) - return false; + if ( s.beforeSend && s.beforeSend(xml, s) === false ) + return false; if ( s.global ) jQuery.event.trigger("ajaxSend", [xml, s]); diff --git a/test/unit/ajax.js b/test/unit/ajax.js index 15c4ed7..c6557f4 100644 --- a/test/unit/ajax.js +++ b/test/unit/ajax.js @@ -136,6 +136,27 @@ test("$.ajax - beforeSend", function() { }); }); +test("$.ajax - beforeSend, cancel request (#2688)", function() { + expect(2); + var request = $.ajax({ + url: url("data/name.html"), + beforeSend: function() { + ok( true, "beforeSend got called, canceling" ); + return false; + }, + success: function() { + ok( false, "request didn't get canceled" ); + }, + complete: function() { + ok( false, "request didn't get canceled" ); + }, + error: function() { + ok( false, "request didn't get canceled" ); + } + }); + ok( request === false, "canceled request must return false instead of XMLHttpRequest instance" ); +}); + var foobar; test("$.ajax - dataType html", function() { -- 1.7.10.4