diff options
author | John Resig <jeresig@gmail.com> | 2010-11-09 12:40:55 -0500 |
---|---|---|
committer | John Resig <jeresig@gmail.com> | 2010-11-09 12:40:55 -0500 |
commit | aa743969763bde258fd16979c7205605ac6eae0f (patch) | |
tree | 0075ee377862b614bcad9abcd2c7c562a837a48d | |
parent | fb48ae8e6cca25fd29ef2b1eb23e9efa7b0eef7c (diff) | |
parent | e57b73a0ac6f8fd0cdbbe7d43f1c7e198f475337 (diff) | |
download | jquery-aa743969763bde258fd16979c7205605ac6eae0f.tar.gz jquery-aa743969763bde258fd16979c7205605ac6eae0f.zip |
Merge branch 'bug7422' of https://github.com/csnover/jquery into csnover-bug7422
-rw-r--r-- | src/ajax.js | 9 | ||||
-rw-r--r-- | test/unit/ajax.js | 5 |
2 files changed, 9 insertions, 5 deletions
diff --git a/src/ajax.js b/src/ajax.js index 9195bcc89..d10b93112 100644 --- a/src/ajax.js +++ b/src/ajax.js @@ -463,10 +463,11 @@ jQuery.extend({ try { var oldAbort = xhr.abort; xhr.abort = function() { - // xhr.abort in IE7 is not a native JS function - // and does not have a call property - if ( xhr && oldAbort.call ) { - oldAbort.call( xhr ); + if ( xhr ) { + // oldAbort has no call property in IE7 so + // just do it this way, which works in all + // browsers + Function.prototype.call.call( oldAbort, xhr ); } onreadystatechange( "abort" ); diff --git a/test/unit/ajax.js b/test/unit/ajax.js index b2e51fbcf..4ce14c24c 100644 --- a/test/unit/ajax.js +++ b/test/unit/ajax.js @@ -137,7 +137,7 @@ test(".load()) - 404 error callbacks", function() { }); test("jQuery.ajax() - abort", function() { - expect( 6 ); + expect( 8 ); stop(); jQuery('#foo').ajaxStart(function(){ @@ -157,7 +157,10 @@ test("jQuery.ajax() - abort", function() { complete: function(){ ok(true, "complete"); } }); + equals( xhr.readyState, 1, "XHR readyState indicates successful dispatch" ); + xhr.abort(); + equals( xhr.readyState, 0, "XHR readyState indicates successful abortion" ); }); test("Ajax events with context", function() { |