Как получить доступ к кросс-домену couchdb от angularjs - PullRequest
2 голосов
/ 08 марта 2012

Я настроил локальную среду, где я загружаю данные из файла json:

var Players = $resource('data/players.json');
var players = Players.query(function(){});

И это прекрасно работает.

Теперь я хочу получить доступ к CouchDB надругой домен (http://playball.iriscouch.com/players), и на основе примера Google Buzz) я пробовал следующее, но я не могу заставить его работать:

var Players = $resource('http://playball.iriscouch.com/players',  
  {alt: 'json', callback: 'JSON_CALLBACK'},
  {get:     {method: 'JSON'}
});

var players = Players.query(function(){});

Я просто получаю пустой массив ... Есть идеи?

Спасибо, бух!

Сьюн

1 Ответ

7 голосов
/ 08 марта 2012

Если у вас есть контроль над сервером, используйте CORS .

Чтобы исправить ваш пример:

var Players = $resource('http://playball.iriscouch.com/players',

  // These params will be set to each request (?alt=json&callback=JSON_CALLBACK),
  // where JSON_CALLBACK placeholder will be replaced with correct callback fn,
  // generated by Angular.
  {alt: 'json', callback: 'JSON_CALLBACK'},

  // You need to configure query method to use JSONP
  {query:     {method: 'JSONP'}
});

var players = Players.query(function(){});

Обязательно проверьте, отвечает ли сервер правильными данными (Панель инструментов Dev - Панель сети).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...