jQuery - 无法在getJSON中设置变量

时间:2017-06-01 03:44:21

标签: javascript jquery html geolocation

我正在尝试创建一个天气应用程序。首先它提示用户允许浏览器获取地理位置,然后我尝试使用坐标从黑暗天空API获取天气。它正在与API正确通信,因为它更新了计数,但我无法获取数据然后更新HTML。

我有三个单独的测试,一个正常工作,用坐标更新HTML。但是我在getJSON中还有两个不能正常工作的测试;一个使用JSON,另一个应该用简单的消息更新。

代码看起来像..

var lat;
var long;

if (navigator.geolocation) {
  navigator.geolocation.getCurrentPosition(function(position) {
    lat = position.coords.latitude;
    long = position.coords.longitude;
    $("#trial").html("latitude: " + lat + "<br>longitude: " + long);

    var api = "https://api.darksky.net/forecast/SECRETKEY/" + lat + "," + long;

    $.getJSON(api, function(json) {
      var zone = json.timezone;
      $("#data").html(zone);
      $("#lol").html("lolol");
    });
  });
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="trial"></div>
<div id="data"></div>
<div id="lol"></div>

我也可以提供钥匙!非常感谢。 jsFiddle

0 个答案:

没有答案