【问题标题】:Troubles with geolocation and getJSON in codepencodepen 中的地理定位和 getJSON 问题
【发布时间】:2017-04-27 23:26:53
【问题描述】:

我在使用 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);
  });
};

【问题讨论】:

  • 你似乎从来没有运行过getLocation - 定义一个函数不会执行它。此外,一旦你解决了这个问题,你的请求中的 URL 就会出现问题(错误 404)

标签: javascript json geolocation codepen


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-15
    • 2017-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-12
    相关资源
    最近更新 更多