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 Call the jQuery $.getJSON method

Sebastian Hewelt
seal-mask
.a{fill-rule:evenodd;}techdegree
Sebastian Hewelt
Front End Web Development Techdegree Student 1,254 Points

showWeather vs showWeather()

Hey,

When i call a function (even in the getJSON method), i thought that i always do it with parantheses. But i got an error so i tried without "()" and i got a pass.

When do i need those "()" and why i didn't in this example?

Thanks for the answer :)

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) {
    $('#temperature').text(weatherReport.main.temp);
  }

});
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>

1 Answer

Simon Coates
Simon Coates
28,694 Points

If you mean

 $.getJSON(weatherAPI , data , showWeather  );

, it's because you're passing the function as a parameter, not calling it directly. jquery receives the function as a parameter and it does the call.