2017-05-24 88 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

您需要更具體的實際問題是什麼

http請求被阻塞。你想做什麼? – Ken

+0

您的代碼在控制檯中返回錯誤... 混合內容:'https://codepen.io/manash23/pen/oWmKje?editors=1010'頁面通過HTTPS加載,但請求不安全的XMLHttpRequest端點'http://ip-api.com/json'。此請求已被阻止;內容必須通過HTTPS提供。 – Ken

回答

1

您的端點有問題。

第一個問題是您需要使用https訪問它而不是http。在解決第一個問題之後第二個問題得到錯誤。

GET https://ip-api.com/jsonnet :: ERR_CONNECTION_REFUSED錯誤。

+0

嗨,感謝您指出...... bdw能否建議我使用其他api來獲取我當地的經緯度? – Manash23

+0

請參閱此[鏈接](https://stackoverflow.com/questions/3490622/get-latitude-and-longitude-based-on-location-name-with-google-autocomplete-api)。接受它幫助你的答案 –

0

之所以被stackoverflow.com裝有https,而您試圖通過jQuery Ajax發送請求被阻止,因爲要求APIhttp://ip-api.com/json。在https

相關問題