Commit b83081ba authored by jaubourg's avatar jaubourg

Never use the XML as parsed by the XHR instance. Use raw text instead and let...

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.
parent df47eb73
...@@ -105,8 +105,7 @@ if ( xhrSupported ) { ...@@ -105,8 +105,7 @@ if ( xhrSupported ) {
var status, var status,
statusText, statusText,
responseHeaders, responseHeaders,
responses, responses;
xml;
// Firefox throws exceptions when accessing properties // Firefox throws exceptions when accessing properties
// of an xhr when a network error occurred // of an xhr when a network error occurred
...@@ -136,14 +135,8 @@ if ( xhrSupported ) { ...@@ -136,14 +135,8 @@ if ( xhrSupported ) {
} else { } else {
responses = {}; responses = {};
status = xhr.status; status = xhr.status;
xml = xhr.responseXML;
responseHeaders = xhr.getAllResponseHeaders(); responseHeaders = xhr.getAllResponseHeaders();
// Construct response list
if ( xml && xml.documentElement /* #4958 */ ) {
responses.xml = xml;
}
// When requesting binary data, IE6-9 will throw an exception // When requesting binary data, IE6-9 will throw an exception
// on any attempt to access responseText (#11426) // on any attempt to access responseText (#11426)
if ( typeof xhr.responseText === "string" ) { if ( typeof xhr.responseText === "string" ) {
......
...@@ -1483,6 +1483,22 @@ module( "ajax", { ...@@ -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() //----------- jQuery.ajaxPrefilter()
ajaxTest( "jQuery.ajaxPrefilter() - abort", 1, { ajaxTest( "jQuery.ajaxPrefilter() - abort", 1, {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment