我正处于天气应用程序项目的中间,无法理解为什么第20行的console.log无法在下面运行:
$(document).ready(function() {
var long;
var lat;
var temp;
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
long = position.coords.longitude;
lat = position.coords.latitude;
var api =
"api.openweathermap.org/data/2.5/weather?lat=" +
lat +
"&lon=" +
long +
"&appid=xxxxxxxxxxxxxxxxxxxxxxx";
//console.log(api);
$("#data").html("latitude: " + lat + "<br>longitude: " + long);
$.getJSON(api, function(json) {
var kelvin = data.main.temp;
console.log(kelvin);
});
});
}
});
body{
height:100vh;
position:relative;
}
.container{
margin:auto;
text-align:center;
padding:20px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
<div class="container">
<h1>Weather App</h1>
<div id="data">location</div>
<div id="temperature">Temperature
<span id="degrees" onclick="">DEGREES</span></div>
<div class="weather">Weather icon</div>
</div>
</body>
我想从openweathermap api获取温度,我正在测试开尔文变量,但它没有显示任何内容。
非常感谢,答案 0 :(得分:-2)
这不是你怎么称呼$ .getJSON。它甚至都不是很接近。
第一个参数是一个URL,您提供的字符串不是,因为URL以协议开头,例如“https://”。
第二个参数是数据,而不是函数,这是您提供的。
第三个参数是成功回调的地方。
如果取消引用失败,请首先打印出来。