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 Programming AJAX Check for the correct ready state

Checking for ready state - code should work

My code identical to the code from the video, but with the conditional for "xhr status 200" portion removed. Why wouldn't this code work?

app.js
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
  if (xhr.readyState === 4 {
     alert("Alles goed");
  });
};
xhr.open('GET', 'sidebar.html');
xhr.send();
index.html
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>AJAX with JavaScript</title>
  <script src="app.js"></script>
</head>
<body>
  <div id="main">
    <h1>AJAX!</h1>
  </div>
  <div id="sidebar"></div>
</body>
</html>

1 Answer

Sean T. Unwin
Sean T. Unwin
28,690 Points

The closing round bracket is in the wrong place. It is currently after the if statement's closing curly bracket, whereas it should be after the conditional, before the opening curly bracket.

  if (xhr.readyState === 4 {
     alert("Alles goed");
  });
// ^ Move this to after the `4` and remove the semi-colon (`;`).