我在使用 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);
});
};
最佳答案
我也遇到这个问题了。事实证明,codepen 会阻止某些 http 请求。如果您将“https://crossorigin.me/https:// ”添加到网址的开头,它将通过跨源路由,然后应该返回您的 JSON 数据,前提是您的代码的其余部分是正确的。
关于javascript - Codepen 中的地理定位和 getJSON 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41112001/