2017-07-11 9 views
1

私は天気アプリプロジェクトの途中でだとライン20上にconsole.logは以下の作業をされていない理由を理解することはできません:私は温度を取得したいこの場合、console.logが動作しないのはなぜですか? Openweathermap API

$(document).ready(function() { 
 
    var long; 
 
    var lat; 
 
    var temp; 
 
    if (navigator.geolocation) { 
 
    navigator.geolocation.getCurrentPosition(function(position) { 
 
     long = position.coords.longitude; 
 
     lat = position.coords.latitude; 
 

 
     var api = 
 
     "api.openweathermap.org/data/2.5/weather?lat=" + 
 
     lat + 
 
     "&lon=" + 
 
     long + 
 
     "&appid=xxxxxxxxxxxxxxxxxxxxxxx"; 
 
     //console.log(api); 
 
     $("#data").html("latitude: " + lat + "<br>longitude: " + long); 
 
     $.getJSON(api, function(json) { 
 
     var kelvin = data.main.temp; 
 
     console.log(kelvin); 
 
     
 
     
 
     }); 
 
    }); 
 
    } 
 
});
body{ 
 
    height:100vh; 
 
    position:relative; 
 
} 
 
.container{ 
 
    margin:auto; 
 
    text-align:center; 
 
    padding:20px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<body> 
 
    <div class="container"> 
 
    <h1>Weather App</h1> 
 
    <div id="data">location</div> 
 
    <div id="temperature">Temperature 
 
     <span id="degrees" onclick="">DEGREES</span></div> 
 
    <div class="weather">Weather icon</div> 
 
    
 
    </div> 
 
    
 
</body>

をopenweathermap apiから、ケルビン変数をテストしていましたが、何も表示されません。あなたは$ .getJSONを呼び出す方法はありません事前に

多くのおかげで、

+1

フェイルハンドラも追加して、リクエストが送信されたかどうかを確認してください。 – Sirko

+2

あなたのコールバックは 'json'をパラメータとして受け取りますが、あなたは' data.main.temp'にアクセスしています。 –

+0

変数がコンソールにあることを明確にするために、あなたの学位に沿って何かを印刷してください。 'console.log(" Kelvin: "+ kelvin);を実行すると、印刷中かどうかが表示されますが、同時にデータが間違っていることを通知します。同様に、ネットワーク要求の結果を[approperiate]タブで確認して、データを正しく取得しているかどうかを確認することができます。 – Fallenreaper

答えて

-2

。それは近くではない。

最初の引数は、URLがプロトコルで始まる「https://」であるため、指定した文字列ではありません。

第2引数は、あなたが提供している関数ではなく、データです。

第3の引数は、成功のコールバックが行われる場所です。

逆参照が失敗した場合は、最初に印刷してください。

+0

FWIW第2引数と第3引数の両方がオプションです。データのないコールバック関数を渡すと問題ありません。 –

+0

データパラメータはオプションです。ちょうど良いコールバックを渡すことができます:http://api.jquery.com/jQuery.getJSON/ – Bergi

+0

@Bergi - あなたがチェックする位置にいる場合は、プロトコルは、現在のBASE_URLに固定されていますか? – Malvolio

関連する問題