angularjs资源 - 无效标签或OPTIONS

时间:2013-02-06 21:06:43

标签: angularjs

我的问题与this one类似,但不一样。

这是我的fiddle

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

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

 $scope.serviceDesc = layerRes.get();

1 个答案:

答案 0 :(得分:1)

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

看看我写的这个例子: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应该没有太大区别。