jquery ajax: closes #3087, #2167, #2128. The ajax transport creation process is exposed to allow overriding.

This commit is contained in:
Ariel Flesler 2008-08-04 14:18:06 +00:00
parent 31293063fa
commit b8ceedbe2b

View file

@ -97,6 +97,7 @@ jQuery.each( "ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".sp
var jsc = now(); var jsc = now();
jQuery.extend({ jQuery.extend({
get: function( url, data, callback, type ) { get: function( url, data, callback, type ) {
// shift arguments if data argument was ommited // shift arguments if data argument was ommited
if ( jQuery.isFunction( data ) ) { if ( jQuery.isFunction( data ) ) {
@ -112,6 +113,13 @@ jQuery.extend({
dataType: type dataType: type
}); });
}, },
// Create the request object; Microsoft failed to properly
// implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available
getAjaxTransport : function() {
return window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
},
getScript: function( url, callback ) { getScript: function( url, callback ) {
return jQuery.get(url, null, callback, "script"); return jQuery.get(url, null, callback, "script");
@ -273,9 +281,8 @@ jQuery.extend({
var requestDone = false; var requestDone = false;
// Create the request object; Microsoft failed to properly // Create the request object
// implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available var xhr = jQuery.getAjaxTransport();
var xhr = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
// Open the socket // Open the socket
// Passing null username, generates a login popup on Opera (#2865) // Passing null username, generates a login popup on Opera (#2865)