X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fajax%2Fxhr.js;fp=src%2Fajax%2Fxhr.js;h=cd9838c3b538de4e066fc56293fa9cd17bf0dc58;hb=ef86694ada757e5bc14227f8e5cc7d9d3a771da2;hp=4acb700545f5a67d2347302aca51a6f92e6b6dd4;hpb=3e1d3d0f21d1b292fe721b4f483b3a3bc2dadd86;p=jquery.git diff --git a/src/ajax/xhr.js b/src/ajax/xhr.js index 4acb700..cd9838c 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), @@ -146,8 +146,9 @@ if ( jQuery.support.ajax ) { // Get info var status = xhr.status, statusText, - response, - responseHeaders = xhr.getAllResponseHeaders(); + responseHeaders = xhr.getAllResponseHeaders(), + responses = {}, + xml = xhr.responseXML; try { // Firefox throws an exception when accessing statusText for faulty cross-domain requests @@ -184,15 +185,15 @@ if ( jQuery.support.ajax ) { status ); - // Guess response & update dataType accordingly - response = - s.determineDataType( - xhr.getResponseHeader("content-type"), - xhr.responseText, - xhr.responseXML ); + // Construct response list + if ( xml && xml.documentElement /* #4958 */ ) { + responses.xml = xml; + } + responses.text = xhr.responseText; // Call complete - complete(status,statusText,response,responseHeaders); + complete(status,statusText,s.determineResponse( responses, + xhr.getResponseHeader( "content-type" ) ),responseHeaders); } } };