From: John Resig Date: Sat, 21 Jul 2007 00:52:30 +0000 (+0000) Subject: Added support for parsererror errors from Ajax requests (bug #1145). X-Git-Url: http://git.asbjorn.biz/?p=jquery.git;a=commitdiff_plain;h=e20e8e6e3cc565469cedfad105565ce534c98c71 Added support for parsererror errors from Ajax requests (bug #1145). --- diff --git a/src/ajax/ajax.js b/src/ajax/ajax.js index 4b1e9b0..7d83a0e 100644 --- a/src/ajax/ajax.js +++ b/src/ajax/ajax.js @@ -662,7 +662,7 @@ jQuery.extend({ } else jQuery.handleError(s, xml, status); } catch(e) { - status = "error"; + status = "parsererror"; jQuery.handleError(s, xml, status, e); } @@ -757,8 +757,11 @@ jQuery.extend({ */ httpData: function( r, type ) { var ct = r.getResponseHeader("content-type"); - var data = !type && ct && ct.indexOf("xml") >= 0; - data = type == "xml" || data ? r.responseXML : r.responseText; + var xml = type == "xml" || !type && ct && ct.indexOf("xml") >= 0; + data = xml ? r.responseXML : r.responseText; + + if ( xml && data.documentElement.tagName == "parsererror" ) + throw "parsererror"; // If the type is "script", eval it in global context if ( type == "script" )