作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经完成了一个项目,当你将其上传到 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 .
关于javascript - Github 页面上的 Openweathermap API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41002630/
我是一名优秀的程序员,十分优秀!