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

Hamed Ali
Hamed Ali
5,626 Points

Simple question: How to chain the .fail() method to the $.get() method ?

Does someone know how to chain the .fail() method to the $.get() method ? I tried chaining it right at the end, immediately after the .get and also right after the function. None of these worked.

app.js
$.get("missing.html", function(data) {
  $("#footer").html(data)();
}.fail);
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

Hamed Ali
Hamed Ali
5,626 Points

What you are saying is actually false Steven.

You can chain these (as per challenge requirements) and here is the correct solution:

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

Steven Parker
Steven Parker
229,608 Points

I forgot to check the challenge itself (I must've been in a hurry!), and was trusting Hamed's description and the jQuery documentation. It says $get() returns a jqXHR object, and .fail() is a method of (and returns) a Deferred object. Further, it says "The Deferred object is chainable, similar to the way a jQuery object is chainable, but it has its own methods."

Check the jQuery documentation for yourself and let me know if I missed something.

But good job finding the solution. :+1: