Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript AJAX Basics (retiring) jQuery and AJAX Handle AJAX failures with jQuery

Jake Shasteen
Jake Shasteen
15,985 Points

You need to specify the parameter (jqXHR) and access its statusText

In the final code challenge for handling AJAX failures with jQuery, I believe I've put in the correct answer for task 3. I even get an alert popup that says 'Not Found' which is the appropriate fail message since we're looking for 'Missing.html'. When I switch jqXHR.statusText to .status, I get 404, so I know that this popup box is because of the code I've put in for the challenge.

Only... the challenge does not accept this as a correct response, and says I need to specify the parameter and use the statusText property. I have -- $.get(...).fail( function ( jqXHR ) { alert( jqXHR.statusText ); } );

Not sure how to proceeed.

app.js
$.get("missing.html", function(data) {
  $("#footer").html(data);
}).fail(
  function( jqXHR ) {
  alert( jqXHR.statusText );
  }
);
index.html
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>AJAX with JavaScript</title>
</head>
<body>
  <div id="main">
    <h1>AJAX with jQuery</h1>
  </div>
  <div id="footer"></div>
  <script src="jquery.js"></script>
  <script src="app.js"></script>
</body>
</html>

1 Answer

Hey Jake,

You're using the right syntax and everything. It looks like it is the whitespace that the challenge is confused by. I used this code to pass the challenge, which is exactly the same except for differences in whitespace:

$.get("missing.html", function(data) {
  $("#footer").html(data);
}).fail(function (jqXHR) {
  alert(jqXHR.statusText);
});
Jake Shasteen
Jake Shasteen
15,985 Points

Cool, works like a charm. Thanks!

No problem, Jake!