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) AJAX and APIs Create a callback function

Not able to pass object and properties.

Pretty new to this, so i was wonder why this isn't working. How do i know if weatherReport object has property own its own or nested?

weather.js
$(document).ready(function() {
  var weatherAPI = 'http://api.openweathermap.org/data/2.5/weather';
  var data = {
    q : "Portland,OR",
    units : "metric"
  };
   function showWeather(weatherReport){
      weatherReport.main.temp
   };
  $('#temperature').text();
});
index.html
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>What's the Weather Like?</title>
  <script src="jquery.js"></script>
  <script src="weather.js"></script>
</head>
<body>
  <div id="main">
    <h1>Current temperature: <span id="temperature"></span>&deg;</h1>
  </div>
</body>
</html>
Bram Dijkhuis
Bram Dijkhuis
5,746 Points

Are you using a key to access the API?

1 Answer

Craig Campbell
Craig Campbell
14,428 Points

If you want to know if a particular property is on a particualr object (as opposed to "inheriting" it from somewhere in its prototype chain) you can try obj.hasOwnProperty(prop). obj is the object you are testing, and prop is the property name. Prop must be in quotes! So to test if weatherReport has the property 'main' attached DIRECTLY to it (not inherited) then:

weatherReport.hasOwnProperty('main');  

This returns a Boolean. But, if you want to SEE it, you'd want to console.log it. so:

console.log(weatherReport.hasOwnProperty('main'));