从api获取数据的问题

时间:2017-04-22 12:25:48

标签: jquery json 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);
          });
      });
    });

1 个答案:

答案 0 :(得分:0)

http 的问题是https://codepen.io是通过 https 协议加载的,但请求了一个不安全的XMLHttpRequest端点。

  

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

因此,此请求已被阻止;内容必须通过HTTPS提供,或者直接在应用程序中注入代码,而不是通过在线工具运行。

<强>样本

$(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>