我一直在尝试用JavaScript编写程序,可以使用JSON从OpenWeatherMap检索天气数据。我是JSON的新手,但我认为我理解它背后的逻辑。但是,当我单击“获取JSON”按钮时,没有任何反应。 getJSON函数中的“data.temp”可能不正确,但如果我理解正确,似乎至少应该打印“温度:”这个词包含在下面的HTML和JavaScript中,任何帮助都是值得赞赏的。< / p>
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>');
});
});
});
答案 0 :(得分:1)
在您的请求参数中,您将“test”指定为回调函数。您可以像这样构建您的请求URL,而无需参考回调并直接访问数据:
http://api.openweathermap.org/data/2.5/weather?q=London,uk&appid=*************
“temp”嵌套在属性“main”中,因此您可以将其引用为data.main.temp