使用HTTPS页面中的HTTP API

时间:2016-07-20 16:45:05

标签: javascript http https

我是使用Windows 10家庭编辑的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请求Wikipedia API。发生这种情况时,您会收到混合内容警告。当您使用安全的HTTPS URL时,浏览器不允许您请求非安全URL。

然后我尝试操作chrome,mozilla和I.E.中的设置,但仍然没有响应。我和编程人员聊过,通过电子邮件发送,叫做centurylink并与他们的程序员交谈过,他们给goDaddy打了一张证书,现在我发现自己仍然没有解决方案。我一直在使用Codepen的编辑器进行分配(这是通过电子邮件发送给我的实际的http网站)。我从5月29日开始研究这个问题而且我没有解决方案。

有人可以提供帮助。谢谢。

1 个答案:

答案 0 :(得分:-1)

您可以使用一台服务器进行代理:App AJAX =>您在后端的https服务器调用(不是重定向)=> http API