X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Fajax%2Fxhr.js;h=7a4da2ddb5fc4a685d94372d2c97194f57d9868f;hb=3dbd600e1961d9ab5296afbf2b3eb0852ad176e0;hp=0f30469d6db4f00a71f6dbb1bafa982900834211;hpb=92c3d87a9cdd611af06e46a5e66a4876c2be5ed0;p=jquery.git diff --git a/src/ajax/xhr.js b/src/ajax/xhr.js index 0f30469..7a4da2d 100644 --- a/src/ajax/xhr.js +++ b/src/ajax/xhr.js @@ -12,8 +12,8 @@ var // Next active xhr id // XHR used to determine supports properties testXHR; -// Create the request object; Microsoft failed to properly -// (This is still attached to ajaxSettings for backward compatibility reasons) +// Create the request object +// (This is still attached to ajaxSettings for backward compatibility) jQuery.ajaxSettings.xhr = window.ActiveXObject ? /* Microsoft failed to properly * implement the XMLHttpRequest in IE7 (can't request local files), @@ -53,7 +53,7 @@ testXHR = undefined; // Create transport if the browser can provide an xhr if ( jQuery.support.ajax ) { - jQuery.ajaxTransport( function( s , determineDataType ) { + jQuery.ajaxTransport( function( s ) { // Cross domain only allowed if supported through XMLHttpRequest if ( ! s.crossDomain || jQuery.support.cors ) { @@ -128,7 +128,6 @@ if ( jQuery.support.ajax ) { callback = 0; // Do not keep as active anymore - // and store back into pool if (handle) { xhr.onreadystatechange = jQuery.noop; delete xhrs[ handle ]; @@ -146,8 +145,15 @@ if ( jQuery.support.ajax ) { // Get info var status = xhr.status, statusText, - response, - responseHeaders = xhr.getAllResponseHeaders(); + responseHeaders = xhr.getAllResponseHeaders(), + responses = {}, + xml = xhr.responseXML; + + // Construct response list + if ( xml && xml.documentElement /* #4958 */ ) { + responses.xml = xml; + } + responses.text = xhr.responseText; try { // Firefox throws an exception when accessing statusText for faulty cross-domain requests @@ -184,16 +190,8 @@ if ( jQuery.support.ajax ) { status ); - // Guess response & update dataType accordingly - response = - determineDataType( - s, - xhr.getResponseHeader("content-type"), - xhr.responseText, - xhr.responseXML ); - // Call complete - complete(status,statusText,response,responseHeaders); + complete(status,statusText,responses,responseHeaders); } } };