Skip to content
Permalink
Browse files

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.
  • Loading branch information
jaubourg committed Jan 21, 2013
1 parent df47eb7 commit b83081ba644b70876a64b3abd7eb11109c1e7a1d
Showing with 17 additions and 8 deletions.
  1. +1 −8 src/ajax/xhr.js
  2. +16 −0 test/unit/ajax.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" ) {
@@ -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("<tab title=\"Added\">blibli</tab>") ).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, {

0 comments on commit b83081b

Please sign in to comment.
You can’t perform that action at this time.