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 (retiring) Programming AJAX Processing JSON Data

Leo Marco Corpuz
Leo Marco Corpuz
18,975 Points

What's wrong with my code?

List isn't showing up. I'm guessing my curly braces are misplaced.

Leo Marco Corpuz
Leo Marco Corpuz
18,975 Points

Here's my code:

var xhr=new XMLHttpRequest(); xhr.onreadystatechange=function(){ if(xhr.readyState===4){ var employees=JSON.parse(xhr.responseText); var statusHTML="<ul class='bulleted'>"; for(var i=0; i<employees.length; i+=1){ if(employees[i].inoffice===true){ statusHTML+="<li class='in'>"; }else{ statusHTML+="<li class='out'>";} } statusHTML+=employees[i].name; statusHTML+="</li>"; } statusHTML+="</ul>"; document.getElementById('employeeList').innerHTML=statusHTML;

};

xhr.open('GET','../data/employees.json'); xhr.send();

Steven Parker
Steven Parker
231,269 Points

Can you make a snapshot of the workspace and provide the link to it?

4 Answers

Looks like you have a curly brace too much at the end of this line? ;

statusHTML+=ยซ<li class=โ€˜outโ€™>ยป;}}

Steven Parker
Steven Parker
231,269 Points

I don't think that's an issue. One brace closes the "else" block and the other one ends the "for" loop block.

In fact, I'd already checked for mismatched braces before I asked for the snapshot.

Steven Parker ah, you're right. Maybe something wrong with the file he's loading?

Steven Parker
Steven Parker
231,269 Points

The snapshot will make a complete analysis possible.

Leo Marco Corpuz
Leo Marco Corpuz
18,975 Points

Thanks! I compared my code to the solution and it turned out that I needed an extra closing curling brace to close the response function.

Steven Parker
Steven Parker
231,269 Points

By "response function" do you mean the one assigned to onreadystatechange in the example? The code shown above seems to have properly matching pairs of open and close braces.

Leo Marco Corpuz
Leo Marco Corpuz
18,975 Points

Yeah, but I was making changes with the curly braces after I made the post so my code was a little different when I compared it to the solution.