2017-04-22 83 views
0

我試圖調用兩個API。第一個是成功返回數據。第二個不是。請有人幫助從api獲取數據的問題

$(function() { 
     $.getJSON('https://freegeoip.net/json/').done(function(location) { 
     $("div").html(JSON.stringify(location)); 

     $.getJSON('http://api.openweathermap.org/data/2.5/weather?lat=' + location.latitude + '&lon=' + location.longitude + '&units=imperial&appid=b3ce5b75f220eaf1db1df46a93a6595e', 
      function(data) { 
      console.log(data); 
      }); 
     }); 
    }); 
+0

你所說的 「第二個是不是」 是什麼意思?你得到的錯誤是什麼? – gaganshera

+0

您的代碼在我的瀏覽器上按原樣工作。 – gaganshera

+0

您是否試圖在https域上加載它?你在控制檯中遇到什麼錯誤?因爲你的代碼看起來很好。 –

回答

0

問題與httphttps://codepen.io加載了https協議,但要求一個不安全的XMLHttpRequest的端點。

http://api.openweathermap.org/data/2.5/weather?lat=17.3753&lon=78.4744&units=imperial&appid=b3ce5b75f220eaf1db1df46a93a6595e

因此,這個請求已被禁止;內容必須通過HTTPS提供,或直接在應用程序中注入代碼而不是通過在線工具運行。

DEMO

$(function() { 
 
     $.getJSON('https://freegeoip.net/json/').done(function(location) { 
 
     $("div").html(JSON.stringify(location)); 
 

 
     $.getJSON('http://api.openweathermap.org/data/2.5/weather?lat=' + location.latitude + '&lon=' + location.longitude + '&units=imperial&appid=b3ce5b75f220eaf1db1df46a93a6595e', 
 
      function(data) { 
 
      console.log(data); 
 
      }); 
 
     }); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div></div>