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

John Dixon
John Dixon
6,512 Points

not understanding this why I can't });.fail(); isn't working

I've also tried pasting .fail(function (jqXHR) { // the .fail function can come right after }); alert(jqXHR.status); });

to the end of line 3 for step 1 and no luck.

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>

2 Answers

if you take a look at the jquery manual you'll see why it isn't working(http://api.jquery.com/deferred.fail/). You are trying to use .fail when the function is done because after the semicolon ";" that function is done there is nothing more to do with it. But inside the function you can use .fail Something like this should work(not tested):

$.get("missing.html")
.done(function(data){
    alert("$.get succeded");
})
.fail(function(){ 
    alert("$.get failed");
});

Not sure if this is for a challenge or not, but you just need to get rid of the semicolon you have before .fail(); like this:

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