2016-05-08 7 views
2

openweathermap apiを使用してユーザーの都市と気温を表示するページを作成しようとしていますが、残念ながらJSON apiを処理していないようです。何もしない。私のコードは私が言うことができる限り問題なく、何が間違っているのか分かりません。これをコーディングするとき、私は同様の問題があった
https://jsfiddle.net/qo2h1L9e/2/Javascriptが処理されていないようです。JSON api

$(document).ready(function() { 
    var data; 
    if (navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(function(position) { 
     var lat = position.coords.latitude; 
     var lon = position.coords.longitude; 
     console.log(lat); 
     console.log(lon); 
     console.log("api.openweathermap.org/data/2.5/weather?lat=" + lat + "&lon=" + lon + "&APPID=4907e373098f091c293b36b92d8f0886"); 
     $.getJSON("api.openweathermap.org/data/2.5/weather?lat=" + lat + "&lon=" + lon + "&APPID=4907e373098f091c293b36b92d8f0886", function(json) { 
     data = json; 
     console.log(data.name); 
     $("#city").text(data.name); 
     }); 
    }); 
    } 
}); 
+0

アドレスは現在の 'window.location'に相対しているとみなされ、' api.openweathermap.org'も有効なディレクトリ名になります。 '' http://api.openweathermap.org/... "' –

+0

あなたが推薦したとおりにしたが、それは役に立たなかった。ホスト名として認識させるには、アドレスにプロトコルと '/'アンカーを含める。私はコンソールからURLを取得し、私の検索エンジンのアドレスバーに入れて、私は私のページ上の目的のJSONオブジェクトを取得しますが、私のコードは何らかの理由でそれを受信して​​いないようです。 – majestyc54

+0

エラーが発生しますか?ブラウザは通常、コンソールでAjax要求が失敗した理由を記録します。 –

答えて

1


はここjsfiddleリンクとjavscriptコードです。あなたがFCCにいると仮定しますか?

とにかく、&コールバック= api URLに追加します。 JSONではなくJSONPとしてデータを取得する必要があるかもしれません。

また、データを定義する必要はありません。 jsonパラメータを使用してオブジェクトに直接アクセスできます。

0

私はこの問題は、クロスドメインの使用jsonp .FOR jsonであるjQueryの

このコードを試してみてください
 $(document).ready(function() { 
      var data; 
      if (navigator.geolocation) { 
       navigator.geolocation.getCurrentPosition(function(position) { 
        var lat = position.coords.latitude; 
        var lon = position.coords.longitude; 
        console.log(lat); 
        console.log(lon); 
        console.log("api.openweathermap.org/data/2.5/weather?lat=" + lat + "&lon=" + lon + "&APPID=4907e373098f091c293b36b92d8f0886"); 
//     $.getJSON("api.openweathermap.org/data/2.5/weather?lat=" + lat + "&lon=" + lon + "&APPID=4907e373098f091c293b36b92d8f0886", function(json) { 
//      data = json; 
//      console.log(data.name); 
//      $("#city").text(data.name); 
        //     }); 
        var url = 'http://api.openweathermap.org/data/2.5/weather'; 
        var params = {}; 
        params.lat = lat; 
        params.lon = lon; 
        params.APPID = "4907e373098f091c293b36b92d8f0886"; 

        $.ajax({ 
         type: "GET", 
         url: url, 
         dataType: "jsonp", 
         contentType: "application/json; charset=utf-8", 
         data: params, 
         success: function (res) { 
          console.log(res); 
         }, 
         error: function (res) { 
         } 
        }); 


       } 
       ); 
      } 
     }); 

それを行っています。

関連する問題