mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Rewrote $.xml a bit, cause the loading message got stuck (didn't hide) after fast ajax calls
This commit is contained in:
parent
81fda970ff
commit
d8bad24d34
46
ajax/ajax.js
46
ajax/ajax.js
@ -9,7 +9,6 @@ if ( typeof XMLHttpRequest == 'undefined' && typeof window.ActiveXObject == 'fun
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
|
||||||
// Counter for holding the active query's
|
// Counter for holding the active query's
|
||||||
$.xmlActive=0;
|
$.xmlActive=0;
|
||||||
|
|
||||||
@ -17,25 +16,11 @@ $.xml = function( type, url, data, ret ) {
|
|||||||
var xml = new XMLHttpRequest();
|
var xml = new XMLHttpRequest();
|
||||||
|
|
||||||
if ( xml ) {
|
if ( xml ) {
|
||||||
//
|
|
||||||
// Increase the query counter
|
|
||||||
$.xmlActive++;
|
|
||||||
|
|
||||||
//
|
|
||||||
// Show loader if needed
|
|
||||||
if ($.xmlCreate) {
|
|
||||||
$.xmlCreate();
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Open the socket
|
// Open the socket
|
||||||
xml.open(type || "GET", url, true);
|
xml.open(type || "GET", url, true);
|
||||||
|
if ( data )
|
||||||
if ( data ) {
|
|
||||||
xml.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
|
xml.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Set header so calling script knows that it's an XMLHttpRequest
|
// Set header so calling script knows that it's an XMLHttpRequest
|
||||||
xml.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
|
xml.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
|
||||||
|
|
||||||
@ -43,29 +28,38 @@ $.xml = function( type, url, data, ret ) {
|
|||||||
* a bug where XMLHttpReqeuest sends an incorrect Content-length
|
* a bug where XMLHttpReqeuest sends an incorrect Content-length
|
||||||
* header. See Mozilla Bugzilla #246651.
|
* header. See Mozilla Bugzilla #246651.
|
||||||
*/
|
*/
|
||||||
if ( xml.overrideMimeType ) {
|
if ( xml.overrideMimeType )
|
||||||
xml.setRequestHeader('Connection', 'close');
|
xml.setRequestHeader('Connection', 'close');
|
||||||
}
|
|
||||||
|
|
||||||
xml.onreadystatechange = function() {
|
xml.onreadystatechange = function() {
|
||||||
if ( xml.readyState == 4 ) {
|
// Socket is openend
|
||||||
if ( ret ) { ret(xml); }
|
if ( xml.readyState == 1 ) {
|
||||||
|
// Increase counter
|
||||||
|
$.xmlActive++;
|
||||||
|
|
||||||
//
|
// Show loader if needed
|
||||||
|
if ( ($.xmlActive >= 1) && ($.xmlCreate) )
|
||||||
|
$.xmlCreate();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Socket is closed and data is available
|
||||||
|
if ( xml.readyState == 4 ) {
|
||||||
// Decrease counter
|
// Decrease counter
|
||||||
$.xmlActive--;
|
$.xmlActive--;
|
||||||
|
|
||||||
//
|
|
||||||
// Hide loader if needed
|
// Hide loader if needed
|
||||||
if ($.xmlActive <= 0) {
|
if ( ($.xmlActive <= 0) && ($.xmlDestroy) ) {
|
||||||
if ($.xmlDestroy) {
|
|
||||||
$.xmlDestroy();
|
$.xmlDestroy();
|
||||||
|
$.xmlActive = 0
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
// Process result
|
||||||
|
if ( ret )
|
||||||
|
ret(xml);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
xml.send(data);
|
xml.send(data)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user