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 trialJedidiah Jawi
7,047 PointsNow that the server has responded with the data, you need to add it to the page. First select the div with the ID of 'si
what am I getting wrong here
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
};
};
xhr.open('GET', 'sidebar.html');
xhr.send()
console.log(xhr.responseText)
document.getElementById('sidebar');
<!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
Heidi Fryzell
Front End Web Development Treehouse Moderator 25,178 PointsHi Jedidiah,
The code you wrote is correct, it is just where you put it that is the issue 🙂. It needs to be inside of the if conditional statement because you don't want it to run until the server has sent back its response and received the ok status.
So if you move your code where you select the sidebar inside the if statement it should work.
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
document.getElementById('sidebar');
};
};
xhr.open('GET', 'sidebar.html');
xhr.send()
console.log(xhr.responseText)
Happy coding! Heidi