https://www.freecodecamp.com/challenges/show-the-local-weather
Показать местные погодные условия рекомендует использовать Open Weather Map API. Что до сих пор работало нормально. Теперь вы получите сообщение об ошибке «pen.js: 22 Mixed Content: страница по адресу [...] была загружена по 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.
Изменения должны появиться на основном сайте через пару дней.
Чтобы обойти эту проблему, откройте версию http
ссылки CodePen, как показано ниже:
http://codepen.io/FreeCodeCamp/full/bELRjV
а не ссылку https
в задании.
Ссылка будет обновлена, как только исправления попадут на главный сайт.
Даже когда я открываю http-версию ссылки в Chrome и Firefox, http-вызов OpenWeather API блокируется. Я уже завершил свой проект Local Weather, но я не могу отправить такой проект на Codepen. URL-адрес отлично работает при просмотре в Safari. Я мог думать только о том, чтобы отправить этот проект, размещенный на моем собственном сервере, или найти другой бесплатный API погоды, поддерживающий SSL.
@ j7an см. обсуждение на # 7853
все еще заблокирован
@rolandocz попробуйте прогноз.io, как упоминалось здесь @ 149203 : https://github.com/freeCodeCamp/freeCodeCamp/issues/7853#issuecomment -222315358
Или вы можете попробовать решение здесь: https://forum.freecodecamp.com/t/local-weather-api-for-people-stuck-because-of-the-https-request/50274/17?u=j7an
Все еще заблокирован
https://cors-anywhere.herokuapp.com/
Это сработало для меня, если вы поместили его перед исходным URL-адресом
В заключение :)
@isingmoon77 Я отлично работаю для меня.
$.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, поэтому ваш метод не работает.
Вы не можете выполнить http-запрос с https-сайта. А поскольку для использования navigation.geolocation вам нужно использовать https, лучше всего просто использовать https API, например darksky .
@raisedadead Думаю, этот вопрос можно закрыть из-за # 15598
Самый полезный комментарий
https://cors-anywhere.herokuapp.com/
Это сработало для меня, если вы поместили его перед исходным URL-адресом
В заключение :)