Я только что познакомился с Angularjs, и я пытался использовать $ http.get. Страница работает только в том случае, если URL, который я даю, является локальным "calender.json". Но когда я даю URL-адрес, он выплескивает пустую страницу. Может ли кто-нибудь помочь мне понять мою ошибку?
Как указывалось в комментариях к вашему вопросу, это вопрос CORS. Чтобы легко решить эту проблему, вы можете изменить свой $http.get()
на $http.jsonp()
. Однако это само по себе не решит проблему. Вам также потребуется настроить URL-адрес, добавив еще один параметр запроса, например (используя предоставленный вами URL-адрес): https://ssl.uh.edu/calendar/api/?view=7day&format=json&distinct=1&callback=JSON_CALLBACK
Обратный вызов = JSON_CALLBACK сообщает серверу, что вы запрашиваете, что вы хотите, чтобы он обернул ответ JSON в функции с именем JSON_CALLBACK, которая является специальным угловым ключевым словом. Ознакомьтесь с документами для получения дополнительной информации: https://docs.angularjs.org/api/ng/service/ $ http
Версия tl; dr: измените $http.get("https://ssl.uh.edu/calendar/api/?view=7day&format=json&distinct=1")
на $http.jsonp("https://ssl.uh.edu/calendar/api/?view=7day&format=json&distinct=1&callback=JSON_CALLBACK")
JSON_CALLBACK
является просто заполнителем для внутренне созданного имени обратного вызова