0

我在使用 codepen 时遇到了一些问题,我试图获取用户位置的天气,但我没有得到纬度和经度,并且无法获取 getJSON 从请求的 URL 中检索任何 JSON。这是代码:

https://codepen.io/martini-alessandro/pen/VmGqyo

function getLocation() {
  if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(getWeather);
  } else {
    alert("Your Web Browse does not support geolocation.");
  }
};
  function getWeather(position) {
  var baseURL = "api.openweathermap.org/data/2.5/weather?";
  var apiKey = "2ca568839db1b37c90c1d38842418e08";
  var latitude = position.coords.latitude;
  var longitude = position.coords.longitude;
  var urlRequest = baseURL + "lat=" + latitude + "&lon=" + longitude + "&APPID=" + apiKey;
  //alert(urlRequest);
  $.getJSON(urlRequest, function(json) {
    alert(json);
  });
};
4

1 回答 1

1

我也有这个问题。事实证明,codepen 会阻止某些 http 请求。如果您将“ https://crossorigin.me/https:// ”添加到您的 url 的开头,它会通过跨源路由它,然后应该返回您的 JSON 数据,前提是您的其余代码是正确的。

于 2017-06-29T23:48:29.300 回答