загрузка данных JSON из API из JavaScript - PullRequest
2 голосов
/ 13 июля 2011

Мне нужно использовать веб-API, который находится здесь http://46.253.202.174:8080/ws-api/v1/rest/zdata/codesByJurAndUsage?jur=Boston,%20MA&usg=barber

У меня нет подробной информации о том, как он реализован, или о доступе к коду API, я просто пытаюсь использовать API, я могу видеть возвращаемые данные JSON, если я наберу URL в браузере, но когда я пытаюсь вызвать API с помощью $ .getJSON, это дало мне ошибку отказа в доступе. Я понимаю, что это междоменная проблема. Я также попробовал несколько других вещей, таких как тип данных jsonp, но безуспешно. У меня вопрос: если я смогу увидеть результаты в браузере, я не смогу ли я получить результаты из сценариев или это не обязательно так? Во-вторых, есть ли другой способ, если то, что я пробовал до сих пор, не было успешным.

спасибо

1 Ответ

3 голосов
/ 13 июля 2011

Вы правы, вы не сможете загрузить эти данные через $.getJSON из-за ограничений Same Origin Policy .Вам нужно будет загрузить его через JSONP или, если служба не поддерживает JSONP (что, похоже, не поддерживает), через прокси.Пара опций:

  • Вы можете настроить прокси на своем сервере через PHP или другой серверный язык.Это позволит вам запрашивать данные с вашего собственного сервера, обходя ограничение того же происхождения.С этой целью вы можете посмотреть на проект типа Простой PHP Proxy .

  • Вы можете использовать YQL в качестве прокси - это отправляет данныечерез серверы Yahoo !, а затем вы можете загрузить его через JSONP.Применение этой техники с jQuery обсуждается в этой статье .

...