https://www.freecodecamp.com/challenges/show-the-local-weather
Zeigen Sie die lokale Wetterherausforderung an, die die Verwendung der Open Weather Map-API empfiehlt. Was bis jetzt gut funktioniert hat. Jetzt wird die Fehlermeldung "pen.js: 22 Mixed Content: Die Seite unter [...] wurde über HTTPS geladen, aber ein unsicherer XMLHttpRequest-Endpunkt angefordert" http://api.openweathermap.org/data/2.5/. Wetter? lat = 30.281903699999997 & lon = -97.73883819999999 & appid = 41bf32baf1dc0b1bb46d120a3cbdbc57 '. Diese Anfrage wurde blockiert; der Inhalt muss über HTTPS
// If relevant, paste all of your challenge code in here
@anthkris dies wurde mit # 8141 behoben.
Die Änderungen sollten in ein paar Tagen auf der Hauptwebsite eingehen.
Um dies zu umgehen, öffnen Sie bitte die http
-Version des CodePen-Links wie folgt:
http://codepen.io/FreeCodeCamp/full/bELRjV
und nicht der Link https
in der Herausforderung.
Der Link wird aktualisiert, sobald die Korrekturen die Hauptwebsite erreichen.
Selbst wenn ich die http-Version des Links in Chrome und Firefox öffne, wird der http-Aufruf der OpenWeather-API blockiert. Ich habe mein lokales Wetterprojekt bereits abgeschlossen, kann das Projekt jedoch nicht auf Codepen einreichen. Die URL funktioniert gut, wenn sie in Safari angezeigt wird. Ich konnte nur daran denken, dieses auf meinem eigenen Server gehostete Projekt einzureichen oder eine andere kostenlose Wetter-API zu finden, die SSL unterstützt.
@ j7an siehe Diskussion auf # 7853
immer noch blockiert
@rolandocz versuchen Sie Forecast.io wie von @ 149203 hier erwähnt: https://github.com/freeCodeCamp/freeCodeCamp/issues/7853#issuecomment -222315358
Oder Sie können die Lösung hier ausprobieren: https://forum.freecodecamp.com/t/local-weather-api-for-people-stuck-because-of-the-https-request/50274/17?u=j7an
Immer noch blockiert
https://cors-anywhere.herokuapp.com/
Dies hat bei mir funktioniert, wenn Sie es vor die ursprüngliche URL setzen
Schließlich :)
@ Risingmoon77 Ya es funktioniert gut für mich.
$.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 wird die HTTP-Anforderung automatisch an HTTPS umgeleitet, sodass Ihre Methode nicht funktioniert.
Sie können keine http-Anfrage von einer https-Website aus stellen. Und da Sie https verwenden müssen, um navigation.geolocation zu verwenden, verwenden Sie am besten einfach eine https-API wie darksky .
@raisedadead Ich denke, dieses Problem kann aufgrund von # 15598 geschlossen werden
Hilfreichster Kommentar
https://cors-anywhere.herokuapp.com/
Dies hat bei mir funktioniert, wenn Sie es vor die ursprüngliche URL setzen
Schließlich :)