2017-05-24 18 views
-2
$(document).ready(function(){ 
    var long1; 
    var lat; 
    var ftemp; 
    var ctemp; 
    var ktemp; 
    $.getJSON("http://ip-api.com/json",function(data2){ 
     lat=data2.lat; 
     long1=data2.lon; 
     var api='http://api.openweathermap.org/data/2.5/weather?lat='+lat+'&lon='+long1+'&appid=46fdba69aa7710295a227debc481af55'; 
     $.getJSON(api,function(data){ 
      var weatherType=data.weather[0].description; 
      ktemp=data.main.temp; 
      var windspeed=data.wind.speed; 
      var city=data.name; 
      var tempswap=true; 
      ftemp=((ktemp)*(9/5)-459.67).toFixed(2);//temp in fahrenheit 
      ctemp=(ktemp-273).toFixed(2);//temp in calcius 
      console.log(city); 
      $("#city").html(city); 
      $("#weatherType").html(weatherType); 
      $("#ftemp").html(ftemp); 
      $("#ftemp").click(function(){ 
       if(tempswap===false){ 
        $("#ftemp").html(ftemp+" &#8457 ;"); 
        tempswap=true; 
       }else{ 
        $("#ftemp").html(ctemp+" &#8451 ;"); 
        tempswap=false; 
       } 
      }); 
      windspeed =(2.237*(windspeed)).toFixed(1); 
      $("#windspeed").html(windspeed + " mph"); 
      if(ftemp>80){ 

      }else if(ftemp>70){ 
       $('body').css('background-image','url()'); 
      } 

     }); 

    }); 
}); 

私は何が間違っているのか分かりません。私はちょうど何かを得ることができません(たとえコンソールが動作していなくても)。次のjQueryコードが動作しない理由を理解するには?

+0

https

http要求がブロックされています。あなたは何をしようとしているのですか? – Ken

+0

あなたのコードはコンソールでエラーを返しています... 混在したコンテンツ: 'https://codepen.io/manash23/pen/oWmKje?editors=1010'のページがHTTPS経由で読み込まれましたが、安全でないXMLHttpRequestを要求しましたエンドポイント 'http://ip-api.com/json'このリクエストはブロックされました。 HTTPS経由でコンテンツを配信する必要があります。 – Ken

答えて

1

エンドポイントに問題があります。

最初の問題は、httpではなくhttpsを使用してアクセスする必要があることです。最初に解決した後に 秒後にエラーが発生しています。

GET https://ip-api.com/jsonnet :: ERR_CONNECTION_REFUSEDエラー。 stackoverflow.com

+0

こんにちは,,それを指摘してくれてありがとう... bdw私の地元の地域の私の緯度と経度を得るために他のAPIを提案することができますか? – Manash23

+0

この[リンク](https://stackoverflow.com/questions/3490622/get-latitude-and-longitude-based-on-location-name-with-google-autocomplete-api)を参照してください。それがあなたを助けた答えを受け入れる –

0

理由はhttpsがロードされ、要求されたAPIhttp://ip-api.com/jsonあるので、あなたがjQuery Ajax経由で送信しようとしている要求がブロックされています。あなたは、実際の問題が何であるかをより具体的にする必要があり

関連する問題