Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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.

$.get("missing.html", function(data) {
<!DOCTYPE html>
  <meta charset="utf-8">
  <title>AJAX with JavaScript</title>
  <div id="main">
    <h1>AJAX with jQuery</h1>
  <div id="footer"></div>
  <script src="jquery.js"></script>
  <script src="app.js"></script>

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
220,634 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: