Я создаю веб-приложение с Node.js и Express. Когда я пытаюсь загрузить свой проект в Heroku, все мое содержимое успешно загружается на странице, но я получаю сообщение об ошибке, когда я пытаюсь выполнить любые действия, требующие вызова AJAX API, с которым я работаю:Заблокирован Загрузка HTTP смешанного содержимого на Heroku
Mixed Содержание: страница в 'https://farmers-market-finder.herokuapp.com/' был загружен через HTTPS, но запросил небезопасный XMLHttpRequest конечную точку http://search.ams.usda.gov/farmersmarkets/v1/data.svc/zipSearch?zip=94118. Этот запрос заблокирован; содержимое должно быть передано через HTTPS.
Я работаю с API рыночных данных фермера, сделанное USDA, и последовал их рекомендуемый формат RESTful AJAX запросы:
$.ajax({
type: 'GET',
url: 'http://search.ams.usda.gov/farmersmarkets/v1/data.svc/mktDetail?id=' + id,
async: false,
success: function (data) { ... }
})
Я сделал много исследований по Stack Переполнение и другие сайты об этой ошибке смешанного содержимого. Большинство ответов показывают, что маршрут запроса «GET» необходимо изменить на «https: // ...», чтобы работать на https-сервере Heroku. Я попытался переключить это, но маршрут к API больше не работает; Я получаю ошибку 404 Not Found. Я также попытался переключить свой маршрут на относительную ссылку (просто написать url: '//search.ams ...'), но получил ту же ошибку 404. Похоже, мне действительно нужна ссылка http: // для доступа к API, к которому я пытаюсь получить доступ.
Кто-нибудь знает, как получить Heroku, чтобы разрешить мне использовать ссылку «http» вместо https или какой-либо другой способ успешно выполнить запрос?