var jsc = now();
jQuery.extend({
+
get: function( url, data, callback, type ) {
// shift arguments if data argument was ommited
if ( jQuery.isFunction( data ) ) {
data: null,
username: null,
password: null,
+ // Create the request object; Microsoft failed to properly
+ // implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available
+ // This function can be overriden by calling jQuery.ajaxSetup
+ xhr:function(){
+ return window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
+ },
accepts: {
xml: "application/xml, text/xml",
html: "text/html",
var requestDone = false;
- // Create the request object; Microsoft failed to properly
- // implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available
- var xhr = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
+ // Create the request object
+ var xhr = s.xhr();
// Open the socket
// Passing null username, generates a login popup on Opera (#2865)
throw "parsererror";
// Allow a pre-filtering function to sanitize the response
- if( s.dataFilter )
+ // s != null is checked to keep backwards compatibility
+ if( s && s.dataFilter )
data = s.dataFilter( data, type );
- // If the type is "script", eval it in global context
- if ( type == "script" )
- jQuery.globalEval( data );
+ // The filter can actually parse the response
+ if( typeof data == 'string' ){
- // Get the JavaScript object, if JSON is used.
- if ( type == "json" )
- data = eval("(" + data + ")");
+ // If the type is "script", eval it in global context
+ if ( type == "script" )
+ jQuery.globalEval( data );
+ // Get the JavaScript object, if JSON is used.
+ if ( type == "json" )
+ data = eval("(" + data + ")");
+ }
+
return data;
},