Remove XMLHttpRequest shadowing, instead decide at runtime whether to create an Activ...
[jquery.git] / src / ajax / ajax.js
index b6c4088..9c9a5df 100644 (file)
@@ -132,12 +132,6 @@ jQuery.fn.extend({
 
 });
 
-// If IE is used, create a wrapper for the XMLHttpRequest object
-if ( !window.XMLHttpRequest )
-       XMLHttpRequest = function(){
-               return new ActiveXObject("Microsoft.XMLHTTP");
-       };
-
 // Attach a bunch of functions for handling common AJAX events
 
 /**
@@ -418,7 +412,7 @@ jQuery.extend({
        //timeout: 0,
 
        /**
-        * Set the timeout of all AJAX requests to a specific amount of time.
+        * Set the timeout in milliseconds of all AJAX requests to a specific amount of time.
         * This will make all future AJAX requests timeout after a specified amount
         * of time.
         *
@@ -434,7 +428,7 @@ jQuery.extend({
         *
         * @name $.ajaxTimeout
         * @type undefined
-        * @param Number time How long before an AJAX request times out.
+        * @param Number time How long before an AJAX request times out, in milliseconds.
         * @cat Ajax
         */
        ajaxTimeout: function( timeout ) {
@@ -520,7 +514,7 @@ jQuery.extend({
         * response has changed since the last request. This is done by checking the
         * Last-Modified header. Default value is false, ignoring the header.
         *
-        * (Number) timeout - Local timeout to override global timeout, eg. to give a
+        * (Number) timeout - Local timeout in milliseconds to override global timeout, eg. to give a
         * single request a longer timeout while all others timeout after 1 second.
         * See $.ajaxTimeout() for global timeouts.
         *
@@ -624,8 +618,9 @@ jQuery.extend({
 
                var requestDone = false;
 
-               // Create the request object
-               var xml = new XMLHttpRequest();
+               // Create the request object; Microsoft failed to properly
+               // implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available
+               var xml = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
 
                // Open the socket
                xml.open(s.type, s.url, s.async);