From b83081ba644b70876a64b3abd7eb11109c1e7a1d Mon Sep 17 00:00:00 2001 From: jaubourg Date: Mon, 21 Jan 2013 02:44:16 +0100 Subject: [PATCH] Never use the XML as parsed by the XHR instance. Use raw text instead and let the ajax conversion logic do the trick. -20 min/gzipped. Fixes #13276. Unit test added. --- src/ajax/xhr.js | 9 +-------- test/unit/ajax.js | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/ajax/xhr.js b/src/ajax/xhr.js index 3c1fde374..2353392f6 100644 --- a/src/ajax/xhr.js +++ b/src/ajax/xhr.js @@ -105,8 +105,7 @@ if ( xhrSupported ) { var status, statusText, responseHeaders, - responses, - xml; + responses; // Firefox throws exceptions when accessing properties // of an xhr when a network error occurred @@ -136,14 +135,8 @@ if ( xhrSupported ) { } else { responses = {}; status = xhr.status; - xml = xhr.responseXML; responseHeaders = xhr.getAllResponseHeaders(); - // Construct response list - if ( xml && xml.documentElement /* #4958 */ ) { - responses.xml = xml; - } - // When requesting binary data, IE6-9 will throw an exception // on any attempt to access responseText (#11426) if ( typeof xhr.responseText === "string" ) { diff --git a/test/unit/ajax.js b/test/unit/ajax.js index f88b5d7cc..86d1b1912 100644 --- a/test/unit/ajax.js +++ b/test/unit/ajax.js @@ -1483,6 +1483,22 @@ module( "ajax", { }); + ajaxTest( "#13276 - jQuery.ajax() - compatibility between XML documents from ajax requests and parsed string", 1, { + url: "data/dashboard.xml", + dataType: "xml", + success: function( ajaxXML ) { + var parsedXML = jQuery( jQuery.parseXML("blibli") ).find("tab"); + ajaxXML = jQuery( ajaxXML ); + try { + ajaxXML.find("infowindowtab").append( parsedXML ); + } catch( e ) { + strictEqual( e, undefined, "error" ); + return; + } + strictEqual( ajaxXML.find("tab").length, 3, "Parsed node was added properly" ); + } + }); + //----------- jQuery.ajaxPrefilter() ajaxTest( "jQuery.ajaxPrefilter() - abort", 1, { -- 2.39.5