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 trialada ada
Front End Web Development Techdegree Student 192 PointsGetting error. Please help
I am getting error in the code.
Please help
Steven Parker Peter Retvari Jennifer Nordell Jonathan Grieve Magnus Martin
1 Answer
Steven Parker
231,269 PointsFirst off, template strings must be enclosed in accents (`) instead of apostrophes (') for interpolation to be performed.
But in addition to that, if you try opening the URL directly with your browser, you will see that the API returns this response:
{"cod":"400","message":"Nothing to geocode"}
Clearly there is no "name", or "main.temp" in this response. But you can see this usage example on the API's information page:
API call:
api.openweathermap.org/data/2.5/weather?q={city name} note the "q="
If you look closely at your URL, you can see that there is no "q=
" before the city name. Based on the comments, the function previously took a "city" argument and added that part to it, but it now takes a "query" argument and does not. So the call at the bottom of the script should probably be:
getWeather("q=New Jersey"); // note "q=" added
Optional suggestion: A nice enhancement might be to check the contents of "cod" in the API response to see if an error occurred, and if so display the contents of "message" to the user.