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
177,844 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: