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 Node.js Basics (2014) Building a Command Line Application Handling Parsing and Status Code Errors

Unexpected end of JSON input ERROR

I finished the error messages when the status code is wrong but when i rechange the username there's an error in the console (Unexpected end of JSON input) My code is: // Look at a user's badge count and JS points // Use node.js o connect Treehouse's API and print profile information.

var http = require("http"); var username = "kaddourmedjedoub";

//Print out message function printMessage(username, badgeCount, points) { var message = username + " has " + badgeCount + " total badge(s) and " + points + " points in Javascript!"; console.log(""); console.log(message); console.log(""); }

//Print ou error messages function printError(error){ console.error(error.message); }

// Connect to the API URL (https://teamtreehouse.com/username.json) var request = http.get("http://teamtreehouse.com/" + username + ".json", function(response) { var body = ""; // Read the data response.on('data', function(chunk) { body += chunk; }); response.on("end", function(){ if (response.statusCode === 301) { try{ var profile = JSON.parse(body); printMessage(username, profile.badges.length, profile.points.JavaScript); } catch(error) { //Parse Error printError(error); } } else { //Status Code Error printError({message: "There was an error getting the profile for " + username + ". (" + http.STATUS_CODES[response.statusCode] + ") "}); } }); // Parse the data // Print the data }); //<---------- callback ends here

//Connection Error request.on("error", printError);

1 Answer

Henrik Christensen
seal-mask
.a{fill-rule:evenodd;}techdegree
Henrik Christensen
Python Web Development Techdegree Student 38,322 Points

This really confuse me - any reason behind these 3x console.log? console.log(""); console.log(message); console.log("");

Any why do you use if (response.statusCode === 301) instead of === 200 as in the video? :-)

for the x3 console logs it's just a technique to see that better, and for the statusCode i think my stqtusCode is 301 because when i change it it says There was an error getting the profile for kaddourmedjedoub