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 trialOlivia Posch
Front End Web Development Techdegree Graduate 19,720 Pointsi don't know what is wrong with my code on this exemplo .
var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function (){ if (xhr.readyState === 4) { var employees = JSON.parse(xhr.responseText); var statusHTML = '<lu 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; //the error is here: Uncaught RangeError: Invalid string length statusHTML += '</li>'; } statusHTML += '</ul>'; document.getElementById('employeeList').innerHTML = statusHTML; } }; xhr.open('GET', 'data/employees.json'); xhr.send();
3 Answers
Steven Parker
231,236 PointsIt looks like your loop keeps adding on to the "statusHTML" variable until it exceeds the maximum length. Your "for" statement has a couple of characters transposed which makes the loop go on forever (or until error):
for (var i = 0; i < employees.length; i = +1) { // you probably want "i += 1" instead here
Olivia Posch
Front End Web Development Techdegree Graduate 19,720 PointsI need a new glasses :-)
Akash Sharma
Full Stack JavaScript Techdegree Student 14,147 PointsSteven Parker is there anything in the console or ide that could help with an error say like non-terminating loop pending before execution?
Steven Parker
231,236 PointsSomething like a "non-terminating loop" might not be what you intended, but it's not actually a program error from the viewpoint of the language itself.
I believe some IDE's have a facility to detect and interrupt a program that is looping very quickly, but I don't think the workspace does. But your browser may have debugging features that allow you to manually interrupt a program and to set breakpoints to occur when things (like too many iterations) occur.