0

我的问题与这个问题相似但不一样。

这是我的小提琴

我正在使用公共资源。我不认为它是jsonp。(他们使用的标志是 pjson,我认为对他们来说,这意味着漂亮的 json)。如果我有 JSONP 的方法,它会调用并返回,但是我得到一个无效的标签错误。如果我将方法设置为 GET,我会在 firebug 中得到 OPTIONS 错误(我通常与跨域违规相关联)。

奇怪的是,我的应用程序调用其他外部资源没有问题 - 所以我不确定它是如何完成的并且不能这样做。如果我无法控制这个外部资源,我是 SOL 吗?

 $scope.serviceDesc = layerRes.get();
4

1 回答 1

1

看起来您可以通过在使用$http 服务callback=JSON_CALLBACK时在 url 参数中指定 a 来对您正在使用的此服务进行 JSONP 调用,或者在您的情况下为$resource 服务

看看我写的这个例子:http ://plnkr.co/edit/7EE85Mr8bZBUroQTp5A9?p=preview

$http.jsonp('http://services.arcgisonline.com/ArcGIS/rest/services/World_Physical_Map/MapServer/0?f=json&callback=JSON_CALLBACK')
  .success(function(data) {
    console.log('The data from their server:');
    console.log(data);
    $scope.worldPhysicalMap = data;
  });

将其转换为使用 $resource 应该没有太大不同。

于 2013-02-06T22:40:37.837 回答