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 trialJustin Henderson
13,739 PointsAdd a conditional statement inside the onreadystatechange event handler that tests to make sure the server has sent back
I believe that I only have part of the puzzle here, not sure what to do next. Any contribution would be greatly appreciated.
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() { if (xhr.readystate===4&& xhr.status===200){
};
xhr.open('GET', 'sidebar.html');
xhr.send();
<!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>
5 Answers
Kelly von Borstel
28,880 PointsThe code is missing closing bracket after function, and readystate should be readyState, with uppercase S -- like this:
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
};
};
xhr.open('GET', 'sidebar.html');
xhr.send();
Tom Nguyen
33,501 PointsThis is what I used to pass the challenge
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4){ // 4 means the readystate has send everything that it will send
if (xhr.status === 200){
document.getElementById('sidebar').innerHTML = xhr.responseText;
}
}
};
xhr.open('GET', 'sidebar.html');
xhr.send();
Volodymyr Rusnyk
9,657 Pointsar xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { }; xhr.open('GET', 'sidebar.html'); xhr.send();
I wrote the same code and it doesn’t work. It shows: Bummer: There was an error with your code: SyntaxError: Parse error What is wrong with code?
ellie adam
26,377 Pointsvar xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) {
};
xhr.open('GET', 'sidebar.html'); xhr.send(); };
Raynaldo Joseph
8,187 Pointsvar xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState === 4) { if (xhr.status === 200) { } }; }; xhr.open('GET', 'sidebar.html'); xhr.send();
Justin Henderson
13,739 PointsJustin Henderson
13,739 PointsHello Kelly,
Thank you for this response, it was very helpful! I wasn't paying close enough attention to the event handler. Thanks again!
Justin