2012-03-07 2 views
2

Я настроил локальную среду, где я загружать данные из файла JSON:Как получить доступ к CouchDB междоменное из angularjs

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

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

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

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

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

Я просто получаю пустой массив ... Любые идеи?

Спасибо за шикарный!

Суне

+0

Это может помочь: http://kxepal.iriscouch.com/docs/1.3/features/cors.html – Costa

ответ

7

Если у вас есть контроль над сервером, используйте 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 Toolbar - панель Network).

+0

Большое спасибо Vojta! –

+0

так должно ли это быть следующим? {query: {method: 'JSONP'} – ganaraj

+0

@ganaraj Спасибо, вы правы. Исправлено в 'JSONP'. – Vojta