Skip to content
Permalink
Browse files

Provided detailed message for JSON parse errors. Fixes #4435.

  • Loading branch information
malsup authored and jeresig committed Jan 25, 2010
1 parent bed759c commit ca90ffb332eafc93b8107aeb2afa7473132392fd
Showing with 8 additions and 4 deletions.
  1. +5 −2 src/ajax.js
  2. +3 −2 test/unit/ajax.js
@@ -417,13 +417,16 @@ jQuery.extend({
"notmodified" :
"success";

var errMsg;

if ( status === "success" ) {
// Watch for, and catch, XML document parse errors
try {
// process the data (runs the xml through httpData regardless of callback)
data = jQuery.httpData( xhr, s.dataType, s );
} catch(e) {
} catch(err) {
status = "parsererror";
errMsg = err;
}
}

@@ -434,7 +437,7 @@ jQuery.extend({
success();
}
} else {
jQuery.handleError(s, xhr, status);
jQuery.handleError(s, xhr, status, errMsg);
}

// Fire the complete handlers
@@ -892,7 +892,7 @@ test("jQuery.ajax() - script, Remote with scheme-less URL", function() {
});

test("jQuery.ajax() - malformed JSON", function() {
expect(1);
expect(2);

stop();

@@ -903,8 +903,9 @@ test("jQuery.ajax() - malformed JSON", function() {
ok( false, "Success." );
start();
},
error: function(xhr, msg) {
error: function(xhr, msg, detailedMsg) {
equals( "parsererror", msg, "A parse error occurred." );
ok( /^Invalid JSON/.test(detailedMsg), "Detailed parsererror message provided" );
start();
}
});

0 comments on commit ca90ffb

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