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 and APIs Stage 4, Challenge task 3 of 3

This is the question:

Finally, to insert the temperature into the div, use jQuery's text() method. You'll need to pass the temperature into this method. The Open Weather Map API returns an object with the property main; that property holds another object with the property "temp". To access the temperature, use dot syntax, like this: weatherReport.main.temp

I don't really know what to do here.

This is my code so far:

$(document).ready(function() {
  var weatherAPI = 'http://api.openweathermap.org/data/2.5/weather';
  var data = {
    q : "Portland,OR",
    units : "metric"
  };
  function showWeather(weatherReport) {
  };
   $('#temperature');
});

HELP!

3 Answers

Here's a working example. ;)

Thanks Lucas! You saved me!

I'm glad that I could help you ;)

This code passed as well:

$('#temperature').text(weatherReport.main.temp);

You call the div element then pass in the content from the using the text() method.

Wait, why did I need to put 'weatherReport.main.temp' into the .text method? That means I'm inserting whatever I get back from that into the html via the .text method, right?

$(document).ready(function() {

var weatherAPI = 'http://api.openweathermap.org/data/2.5/weather'; var data = { q : "Portland,OR", units : "metric" }; var showWeather = function (weatherReport) { $('#temperature').text(weatherReport.main.temp); } $.getJSON(weatherAPI,data,showWeather); });