Githubpages上的Openweathermap API

时间:2016-12-06 18:47:36

标签: javascript jquery github github-pages

我有一个完成的项目,当你在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();

});

1 个答案:

答案 0 :(得分:1)

不,这种限制不容易解决,因为它对您网站的安全性和完整性非常重要。如果您通过未加密的连接从HTTPS加密页面访问资源,则用户将始终看到安全警告。

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

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