Javascript 从HTTPS页面使用HTTP API

Javascript 从HTTPS页面使用HTTP API,javascript,http,https,Javascript,Http,Https,我是一名使用Windows10家庭编辑的freecodecamp学生。Codepen.io是http站点的编辑器。本地天气课让我学习了一个来自开放天气图的api,它也是一个http。当我第一次: $.document.ready(function() { var api = "http://api.openweathermap.org/data/2.5 /weather?id=2172797&appid=(I have my api key)";

我是一名使用Windows10家庭编辑的freecodecamp学生。Codepen.io是http站点的编辑器。本地天气课让我学习了一个来自开放天气图的api,它也是一个http。当我第一次:

$.document.ready(function() {
  var api = "http://api.openweathermap.org/data/2.5                   /weather?id=2172797&appid=(I have my api key)";        
  $.getJSON(api, function(data) {
    alert(api, data.coord.lon);  
  });
});
我问过其他编码员,他们说代码是正确的。我也尝试过AJAX:

function loadDoc() {
  var url = "http://api.openweathermap.org/data/2.5/weather?id=2172797& appid=(I have my api key)";
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 && xhttp.status == 200) {
      document.getElementById("demo").innerHTML = xhttp.responseText;
    }
  };
  xhttp.open("GET", "url", true);
  xhttp.send();
}
我没有得到数据,也没有得到警报响应。然后我通过电子邮件发送了Codepen.io回复:

我在这里看到的第一个问题是,您正在通过HTTPS访问Pen,并通过HTTP请求WikipediaAPI。发生这种情况时,您将收到混合内容警告。当您使用安全的HTTPS URL时,浏览器不允许您请求非安全URL

然后我试着操纵chrome、mozilla和IE中的设置,但仍然没有响应。我和程序员谈过,发过电子邮件,打过电话给centurylink,也和他们的程序员谈过,打过电话给goDaddy要证书,现在我发现自己仍然没有解决办法。我一直在使用Codepen的编辑器来完成作业,这是给我发电子邮件的实际http站点。我从5月29日开始研究这个问题,但我没有解决办法


有人能帮忙吗。谢谢。

您可以用一台服务器代理它:App AJAX=>后端的https服务器调用,而不是重定向=>http API

如果您希望https站点获取非https资源用于开发目的,可能这是一个副本,当我手动将https://修改为http://时,似乎工作正常,因此这似乎没有必要。我尝试了该方法,但仍然无法获得警报以生成lat和lon坐标。我已经尝试在chrome上重置http设置。我还查看了其他程序员的代码,他们似乎没有这个问题。我不相信是这个网站。