$ .getJSON不返回数据

时间:2017-01-02 22:20:31

标签: javascript jquery html css api

我正在学习freecodecamp课程,目前我已经停留在天气应用程序zipline。我正在调用的API是OpenWeatherMap。对我来说问题是$ .getJson没有返回数据,即使链接是正确的。我在$ .getJSON之外放置了警报,它运行正常。我将分享源代码:

所有这些都是在codepen上完成的,如果你没有看到html标签是因为codepen自己做了。 CSS也是这样做的。

HTML

public class PrefActivity extends AppCompatPreferenceActivity implements Preference.OnPreferenceChangeListener {

SettingsChangedListener settingsChangedListener;


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.preferences);

    //initializing the interface here. Parent is MainActivity
    settingsChangedListener = (SettingsChangedListener) getParent();


    editTextPreference = (EditTextPreference) findPreference(VALUTA_KEY);
    listPreference = (ListPreference) findPreference(SORT_KEY);
    themecolorList = (ListPreference) findPreference(THEME_KEY);

    editTextPreference.setOnPreferenceChangeListener(this);
    listPreference.setOnPreferenceChangeListener(this);
    themecolorList.setOnPreferenceChangeListener(this);


}

CSS

<head> 
  <title>Weather App</title>
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
  <h1>Free Code Camp Zipline</h1>
  <h2>Local Weather App!</h2>
  <p id="latitude"></p>
  <p id="longitude"></p>
  <div id="weather"></div>
  <footer>
    <p>Copyright © Luis M. Alvarez 2016. All Rights Reserved</p>
  </footer> 
</body>

的Javascript

     body {
        margin: 0;
        font-family: "Georgia";
     }

    h1, h2 {
       text-align: center;
    }
    p {
     font-size: 20px;
     text-align: center;
    }

这里添加了评论,因此他们不会弄乱代码。请详细解释它为什么不起作用以及如何使其工作。

项目链接: https://codepen.io/Zero720/pen/RoOwaw

http://openweathermap.org/current

1 个答案:

答案 0 :(得分:1)

如果您熟悉浏览器中的JavaScript控制台,编程JavaScript将更加 更容易。这是你的错误:

  

混合内容:“https://codepen.io/Zero720/pen/RoOwaw”页面是通过HTTPS加载的,但是请求了一个不安全的XMLHttpRequest端点“http://api.openweathermap.org/data/2.5/weather?lat=42.9976979&lon=-77.50486959999999&APPID=d160d975b9920be65fcf14313e95afb4&units=metric”。此请求已被阻止;内容必须通过HTTPS提供。

.