jQuery: The Write Less, Do More JavaScript Library

Ticket #1584 (closed bug: fixed)

Opened 1 year ago

Last modified 10 months ago

cross-domain get[Script|JSON] not trigger ajaxStop

Reported by: MiRacLe Assigned to: anonymous
Type: bug Priority: minor
Milestone: 1.2.2 Component: ajax
Version: 1.2.1 Keywords:
Cc: Needs: Review

Description (last modified by john) (diff)

script.onload = script.onreadystatechange = function(){

if ( !done && (!this.readyState this.readyState == "loaded" this.readyState == "complete") ) { done = true;

//----------------patch---------- if ( s.global) {

jQuery.active--; jQuery.event.trigger('ajaxStop');

} if (s.success && jQuery.isFunction(s.success)) s.success(); if (s.complete && jQuery.isFunction(s.complete)) s.complete(); //--------------end-patch---------- head.removeChild( script ); } };

Attachments

Change History

Changed 1 year ago by john

  • status changed from new to closed
  • resolution set to fixed
  • description changed from script.onload = script.onreadystatechange = function(){ if ( !done && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete") ) { done = true; //----------------patch---------- if ( s.global) { jQuery.active--; jQuery.event.trigger('ajaxStop'); } if (s.success && jQuery.isFunction(s.success)) s.success(); if (s.complete && jQuery.isFunction(s.complete)) s.complete(); //--------------end-patch---------- head.removeChild( script ); } }; to script.onload = script.onreadystatechange = function(){ if ( !done && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete") ) { done = true; //----------------patch---------- if ( s.global) { jQuery.active--; jQuery.event.trigger('ajaxStop'); } if (s.success && jQuery.isFunction(s.success)) s.success(); if (s.complete && jQuery.isFunction(s.complete)) s.complete(); //--------------end-patch---------- head.removeChild( script ); } };

I can't duplicate this at all - ajaxStop always fires for me, with both getScript and getJSON, both local and remotely.

HOWEVER - I was able to duplicate it with JSONP requests, and resolved the bug in SVN rev [3294]. Thanks for your help!

Changed 1 year ago by MiRacLe

  • status changed from closed to reopened
  • resolution deleted

hello again i'm create two pages for demonstrate this bug: http://rpz.name/jquery-bug/latest-jquery.html - ajaxStop never executed http://rpz.name/jquery-bug/patched-jquery.html - work fine.


--- jquery-1.2.1.js Tue Sep 18 16:06:43 2007 +++ jquery-patched.js Tue Sep 18 16:50:26 2007 @@ -2264,3 +2264,3 @@

// Handle Script loading

- if ( !jsonp && (s.success s.complete) ) { + if ( !jsonp) {

var done = false;


Changed 1 year ago by MiRacLe

--- jquery-1.2.1.js
+++ jquery-patched.js
@@ -2264,3 +2264,3 @@
 			// Handle Script loading
-			if ( !jsonp && (s.success || s.complete) ) {
+			if ( !jsonp) {
 				var done = false;

Changed 10 months ago by john

  • status changed from reopened to closed
  • version changed from 1.2 to 1.2.1
  • resolution set to fixed
  • milestone changed from 1.2.1 to 1.2.2

Fixed in SVN rev [3668].

Note: See TracTickets for help on using tickets.