Ich mache eine "Show-You-Local-Wetter-App" (Freecodecamp), und ich möchte, dass es die Daten beim Laden der Seite erhalten. Aber nichts passiert. Ich bin ziemlich neu, also frage ich mich, ob ich etwas Offensichtliches verpasst habe.jQuery.getJSON() funktioniert nicht beim Laden der Seite. Funktioniert gut in einem Klick-Event
Es funktioniert gut, wenn ich in $ ("# some_button") formulierte. Auf ("Klick", etc ...
Ich habe versucht, es in $ (document) .ready ohne setzen succes. Was bin ich hier?
var latitude, longitude;
var apiKey = "9b6a0d53a4ed3ff657c6ff6e18ffa42f";
var url;
function success(pos) {
var crd = pos.coords;
latitude = crd.latitude;
longitude = crd.longitude;
url = "http://api.openweathermap.org/data/2.5/weather?lat=" + latitude + "&lon=" + longitude + "&units=metric&appid=" + apiKey;
};
navigator.geolocation.getCurrentPosition(success);
// AJAX call
$.getJSON(url, function(data) {
$("#location").html(data.name + ", " + data.sys.country);
$("#weather_type").html(data.weather[0].description);
var imgURL = data.weather[0].icon + ".png";
$("#icon").html("<img src='http://openweathermap.org/img/w/" + imgURL + "'>");
$("#deg").html(data.main.temp);
$("#windspeed").html(data.wind.speed);
console.log(data);
});
ich es mit codepen gemacht habe, wenn jemand es sehen wollen. ich die OpenWeatherMap API bin mit.
Dank!
Sie verpassen ein ')' zum Schließen Ihres '.fail()' Aufrufs – cl3m
Der Geolocation-Aufruf ist asynchron und wird nicht sofort zurückgegeben. Ihre "URL" ist zu dem Zeitpunkt, zu dem Sie den '$ .getJSON()' -Aufruf tätigen, nicht bereit. – Pointy
habe ich vor ein paar Monaten damit gespielt. Hier ist mein Beispiel: http://codepen.io/7urkm3n/pen/JGJpXa – 7urkm3n