X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Fajax%2Fajax.js;h=645caf72e4ad2c4fa90145cf08267184ec2c6f18;hb=b965c98ff1cf3038164c627d74df40f68bcc0a82;hp=4b1e9b0e2314303e3cb4857f36b6c5dd3182fa5f;hpb=f83211c684b0a1031001c448ff7a4cfbac8c1c1f;p=jquery.git diff --git a/src/ajax/ajax.js b/src/ajax/ajax.js index 4b1e9b0..645caf7 100644 --- a/src/ajax/ajax.js +++ b/src/ajax/ajax.js @@ -77,7 +77,7 @@ jQuery.fn.extend({ complete: function(res, status){ // If successful, inject the HTML into all the matched elements if ( status == "success" || !ifModified && status == "notmodified" ) - self.html(res.responseText) + self.html(res.responseText); self.each( callback, [res.responseText, status, res] ); } @@ -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" )