https://www.freecodecamp.com/challenges/show-the-local-weather
显示当地天气挑战建议使用开放天气地图API。 到目前为止工作正常。 现在,您会收到一条错误消息,指出“ pen.js:22混合内容:通过HTTPS加载了[...]页面,但是请求了不安全的XMLHttpRequest端点' http://api.openweathermap.org/data/2.5/ weather?lat = 30.281903699999997&lon = -97.73883819999999&appid = 41bf32baf1dc0b1bb46d120a3cbdbc57 '。此请求已被阻止;该内容必须通过HTTPS提供。”
// If relevant, paste all of your challenge code in here
@anthkris,该问题已通过#8141修复。
所做的更改应在几天之内到达主要网站。
要解决此问题,请打开CodePen链接的http
版本,如下所示:
http://codepen.io/FreeCodeCamp/full/bELRjV
而不是挑战中的https
链接。
修复程序到达主网站后,链接将立即更新。
即使当我在Chrome和Firefox中打开链接的http版本时,对OpenWeather API的http调用也被阻止。 我已经完成了“本地天气”项目,但是无法在Codepen上提交这样的项目。 在Safari中查看时,URL工作正常。 我只能考虑提交托管在我自己的服务器上的该项目,或者找到另一个支持SSL的免费天气API。
@ j7an参阅有关#7853的讨论
仍然被封锁
@rolandocz尝试forecast.io被提到@ 149203这里: https://github.com/freeCodeCamp/freeCodeCamp/issues/7853#issuecomment -222315358
或者您可以在这里尝试解决方案: https :
仍然被封锁
https://cors-anywhere.herokuapp.com/
如果您将其放在初始URL之前,这对我有用
最后:)
@ risingmoon77对我来说很好。
$.getJSON("https://cors-anywhere.herokuapp.com/http://api.openweathermap.org/data/2.5/weather?lat="+lat+"&lon="+lon+"&appid=1c48b076cbce09ca93cfff52b6c839c1",function(json){
// other code goes here
}
@raisedadead codepen自动将HTTP请求重定向到HTTPS,因此您的方法无效。
您无法从https网站发出http请求。 而且由于必须使用https来使用navigation.geolocation,所以最好的办法就是使用Darksky之类的https API。
@raisedadead,我认为由于#15598这个问题可以解决
最有用的评论
https://cors-anywhere.herokuapp.com/
如果您将其放在初始URL之前,这对我有用
最后:)