2

我已经建立了一个本地环境,我从一个 json 文件加载数据:

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

而且效果很好。

现在我想访问不同域(http://playball.iriscouch.com/players)上的 CouchDB,并且基于 google Buzz 示例,我尝试了以下操作,但无法使其工作:

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

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

我只是收到一个空数组......有什么想法吗?

非常感谢!

4

1 回答 1

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(){});

请务必检查服务器是否响应正确的数据(开发工具栏 - 网络面板)。

于 2012-03-08T03:54:05.623 回答