-
- // Socket is closed and data is available
- if ( xml.readyState == 4 ) {
- // Hide loader if needed
- if ( ! --jQuery.ajax.active ) {
- jQuery.event.trigger( "ajaxComplete" );
- jQuery.ajax.active = 0
- }
-
- // Make sure that the request was successful
- if ( jQuery.httpSuccess( xml ) ) {
-
- // If a local callback was specified, fire it
- if ( success ) success( xml );
+
+ // Watch for a new set of requests
+ if ( ! jQuery.active++ )
+ jQuery.event.trigger( "ajaxStart" );
+
+ // Create the request object
+ var xml = new XMLHttpRequest();
+
+ // Open the socket
+ xml.open(type || "GET", url, true);
+
+ // Set the correct header, if data is being sent
+ if ( data )
+ xml.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
+
+ // Set header so calling script knows that it's an XMLHttpRequest
+ xml.setRequestHeader("X-Requested-With", "XMLHttpRequest");
+
+ // Make sure the browser sends the right content length
+ if ( xml.overrideMimeType )
+ xml.setRequestHeader("Connection", "close");
+
+ // Wait for a response to come back
+ xml.onreadystatechange = function(){
+ // The transfer is complete and the data is available
+ if ( xml.readyState == 4 ) {
+ // Make sure that the request was successful
+ if ( jQuery.httpSuccess( xml ) ) {