2017-02-22 4 views
0

Ich bekomme falsche Informationen von openweathermap.org. Es gibt die Informationen zurück, die in den Beispielen auf der Website angezeigt werden.OpenWeatherMap gibt falsche Ergebnisse zurück

Hier ist mein HTML Code:

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Your Weather</title> 
     <meta charset="utf-8"> 
     <link rel="stylesheet" href=""> 
    </head> 
    <body> 
     <div> 
     <h1>The Weather</h1> 
      <div> 
       <p> 
        <span id="show-weather"></span> 
        <span id="show-country"></span> 
       </p> 
      </div> 
     </div> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
     <script src="custom.js"></script> 
    </body> 
</html> 

Und hier ist mein JS Code:

$(document).ready(function() { 
    $.ajax({ 
     type: 'GET', 
     data: { 
      id: '2172797', 
      appid: 'b1b15e88fa797225412429c1c50c122a1' 
     }, 
     url: 'https://openweathermap.org/data/2.5/weather/', 
     xhrFields: { 
      withCredentials: false 
     }, 
     headers: {}, 
     success: function(data) { 

      $("#show-weather").text("Your location latitude is: " + data.coord.lat + " and longitude is: " + data.coord.lon); 
      $("#show-country").text(" Your current location is: " + data.sys.name); 

     }, 
     error: function(data) { 

      console.log('error'); 
      console.log(data); 
     }, 
    }); 
}); 

Ich bin nicht in der Lage, die aktuellen Informationen wie Ortsnamen oder Breite oder Länge zu erhalten.

+0

Wie sieht die Antwort aus? Erhalten Sie Fehler in Ihrer Konsole? – zero298

Antwort

0

Der Name Eigenschaft ist auf der Root-Ebene, so dass Sie die data.name Eigenschaft verwenden müssen, und wenn Sie den Namen des Landes benötigen, dann sollte der Wert data.sys.country sein. Es gibt keine Eigenschaft namens name unter data.sys

Komplette Arbeitscode:

$(document).ready(function() { 
 
    $.ajax({ 
 
     type: 'GET', 
 
     data: { 
 
      id: '2172797', 
 
      appid: 'b1b15e88fa797225412429c1c50c122a1' 
 
     }, 
 
     url: 'https://openweathermap.org/data/2.5/weather/', 
 
     xhrFields: { 
 
      withCredentials: false 
 
     }, 
 
     headers: {}, 
 
     success: function(data) { 
 
//console.log(data); 
 
      $("#show-weather").text("Your location latitude is: " + data.coord.lat + " and longitude is: " + data.coord.lon); 
 
      $("#show-country").text(" Your current location is: " + data.sys.country); 
 

 
     }, 
 
     error: function(data) { 
 

 
      console.log('error'); 
 
      console.log(data); 
 
     }, 
 
    }); 
 
});
<body> 
 
     <div> 
 
     <h1>The Weather</h1> 
 
      <div> 
 
       <p> 
 
        <span id="show-weather"></span> 
 
        <span id="show-country"></span> 
 
       </p> 
 
      </div> 
 
     </div> 
 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
     
 
    </body>

0

Die ID-Abfrage-Parameter Sie mit der Bitte senden ist eine Stadt id ... die gleiche ID wird in den Beispielen der API-Dokumentation verwendet. Ändern Sie die ID oder sehen Sie sich die Dokumente zur Abfrage anderer Städte mit anderen Abfrageparametern an.

Verwandte Themen