Github 页面上的 Openweathermap API

Openweathermap API on Githubpages

我有一个项目已完成,当您将其上传到 Github 页面时它不起作用。它不会引入任何脚本、外部链接字体和 API 数据。 API 仅支持 HTTP,而 Github 页面仅接受 HTTPS。在不改变 API 的情况下有什么解决办法吗? API 是 Openweathermap。

$(document).ready(function(){
var temp = $('.temperature');
var APIKEY = ';
var loc = $('#search').val();
function updateByCity(loc){
 var url = "http://api.openweathermap.org/data/2.5/weather?q=" + loc + "&APPID=" + APIKEY;
 sendRequest(url);
}

function k2f(k){
return Math.round(k*(9/5)-459.67);
}
function ascii(a){
 return String.fromCharCode(a);
}

$('.enter').click(function(event){
event.preventDefault();
var loc = $('#search').val();
var url = "http://api.openweathermap.org/data/2.5/weather?q=" + loc + "&APPID=" + APIKEY;
 console.log(url);
 var xmlhttp = new XMLHttpRequest ();
 xmlhttp.onreadystatechange = function(){
  var url = "http://api.openweathermap.org/data/2.5/weather?q=" + loc + "&APPID=" + APIKEY;
  console.log("lol");
 var data = JSON.parse(xmlhttp.responseText);
 var datatext = data.id;
 var name = data.name;
  var locname = name;
  var temptext = k2f(data.main.temp) + ascii(176) + "F";
  console.log(temp);
  console.log(url);
  $('.temperature').text(temptext);
 $('.city').text(name);
 };
 xmlhttp.open("GET", url, true);
 xmlhttp.send();

});

不,没有简单的方法可以绕过此限制,因为它对您网站的安全性和完整性很重要。如果您通过未加密的连接从 HTTPS 加密页面访问资源,用户将始终看到安全警告。

您可以设置一个代理,通过 HTTP 访问 API 并通过 HTTPS 将调用传递给浏览器。请注意,这可能会在开发工作方面造成相当大的开销。

最简单的解决方案可能是切换到不同的天气数据提供商,considering that HTTPS encryption by default may be a good idea