1

我一直在尝试用 JavaScript 编写一个程序,该程序可以使用 JSON 从 OpenWeatherMap 检索天气数据。我对 JSON 很陌生,但我认为我理解它背后的逻辑。但是,当我单击“获取 JSON”按钮时,什么也没有发生。getJSON 函数中的“data.temp”可能不正确,但如果我理解正确,它似乎至少应该打印单词“Temperature:”HTML 和 JavaScript 附在下面,感谢任何帮助。

HTML:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">    </script>  

<div id = "owmData" style = "background-color:#cc0;">
     Weather data should go here.
  </div>

获取 JSON

JavaScript:

$(document).ready(function() {

/* Operate when "getIt" button is clicked.*/
$("#getIt").click(function(event){      

 /* Variable storing weather information.*/
 var weatherNow="http://api.openweathermap.org/data/2.5/weather?q=London,uk&callback=test&appid=******************";

 $.getJSON(weatherNow,function(data){         
                    $('#owmdata').append('<p>Temperature : ' + data.temp+ '</p>');


});
 });
 });
4

1 回答 1

1

在您的请求参数中,您将“test”指定为回调函数。您可以像这样构造您的请求 url,而无需回调的引用并直接访问数据:

http://api.openweathermap.org/data/2.5/weather?q=London,uk&appid=*************

“temp”嵌套在属性“main”中,因此您可以将其引用为data.main.temp

于 2016-03-24T19:44:35.503 回答