https://www.freecodecamp.com/challenges/show-the-local-weather
Show the local weather challenge recomienda usar Open Weather Map API. Que funcionó bien hasta ahora. Ahora obtendrá un error que dice "pen.js: 22 Contenido mixto: la página en [...] se cargó a través de HTTPS, pero solicitó un extremo XMLHttpRequest inseguro ' http://api.openweathermap.org/data/2.5/ weather? lat = 30.281903699999997 & lon = -97.73883819999999 & appid = 41bf32baf1dc0b1bb46d120a3cbdbc57 '. Esta solicitud se ha bloqueado; el contenido debe
// If relevant, paste all of your challenge code in here
@anthkris esto se ha corregido con # 8141.
Los cambios deberían llegar al sitio web principal en un par de días.
Como solución, abra la versión http
del enlace CodePen como en:
http://codepen.io/FreeCodeCamp/full/bELRjV
y no el enlace https
en el desafío.
El enlace se actualizará tan pronto como las correcciones lleguen al sitio web principal.
Incluso cuando abro la versión http del enlace en Chrome y Firefox, la llamada http a la API de OpenWeather se bloquea. Ya terminé mi proyecto de clima local, pero no puedo enviar el proyecto como este en Codepen. La URL funciona bien cuando se ve en Safari. Solo podía pensar en enviar este proyecto alojado en mi propio servidor o encontrar otra API meteorológica gratuita que admita SSL.
@ j7an refiera la discusión en # 7853
todavía bloqueado
@rolandocz prueba @ 149203 aquí: https://github.com/freeCodeCamp/freeCodeCamp/issues/7853#issuecomment -222315358
O puede probar la solución aquí: https://forum.freecodecamp.com/t/local-weather-api-for-people-stuck-because-of-the-https-request/50274/17?u=j7an
Todavía bloqueado
https://cors-anywhere.herokuapp.com/
Esto funcionó para mí si lo pones delante de la URL inicial
Finalmente :)
@ Risingmoon77 Ya está funcionando bien para mí.
$.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 redirige automáticamente la solicitud HTTP a HTTPS para que su método no funcione.
No puede realizar una solicitud http desde un sitio web https. Y dado que tienes que usar https para usar navigation.geolocation, lo mejor que puedes hacer es usar una API https como darksky .
@raisedadead Creo que este problema se puede cerrar debido a # 15598
Comentario más útil
https://cors-anywhere.herokuapp.com/
Esto funcionó para mí si lo pones delante de la URL inicial
Finalmente :)