2013-12-05 4 views
0

Я не знаком с этой проблемой, и надеюсь, вы сможете помочь.
Я разрабатываю веб-приложение. Конечные точки My Backend api находятся под http://www.example.com/api, где мое приложение для внешнего интерфейса расположено в http://www.otherdomain.com.
Проблема в том, что я получаю проблемы с перекрестными доменами, когда я пытаюсь выполнить запросы ajax.
Я использую AngularJS в интерфейсе и RoR (рельсы) на бэкэнде.
Вы не знаете, как это исправить?Проблема с перекрестным доменом - api в другом домене, чем интерфейс

+1

То, что вы пытаетесь сделать, это, по существу, межсайтовый скриптинг и, как правило, считается не-не: http://en.wikipedia.org/ wiki/Cross-site_scripting. Вероятно, вы захотите исследовать JSONP для совершения звонков в другой домен или хотите создать прокси-сервер на стороне otherdomain.com для доступа к API на example.com с сервера [в отличие от клиента]. – JeffryHouser

ответ

2

В целях безопасности браузеры блокируют запрос ajax для другого домена (вы можете прочитать here). Но вы можете попробовать использовать $http.jsonp()

0

Мы столкнулись с этим несколько раз раньше в нашем PHP & Java Backend Api. Но наше решение всегда было включить это в свой апи сервера заголовок: Access-Control-Allow-Origin "*"

+0

Прохладная идея; но как именно включить это в свой заголовок API-сервера? Какие API-интерфейсы вы раскрывали и каким способом и с какой технологией? – JeffryHouser

+0

Мы использовали это на нашем RESTFUL apis сервере, это позволит исправить проблему перекрестного домена для sur. Вы можете добавить эту конфигурацию через код или в конфигурацию вашего компьютера. Не знаю, как в RoR, но я уверен, что кто-то уже это сделал. : D. Удачи. – user2720708

0

Лучшее решение, вероятно, будет положить а reverse proxy с помощью nginx так, что запросы могут быть получены с помощью локального сервера, на локальном домене, и наоборот -proxied на целевой сервер точно так, как они были получены (ограничение CORS не применяется на серверах). не

Другое решение это аккуратным Javascript прокси: https://github.com/jpillora/xdomain

Смежные вопросы