我的问题与this one类似,但不一样。
这是我的fiddle
我正在使用公共资源。我不认为这是jsonp。 (他们使用的标志是pjson,我认为,对他们来说,意思是json)。 如果我将方法作为JSONP,它将调出并返回,但然后我得到无效的标签错误。如果我将方法设置为GET,我会在firebug中获得OPTIONS错误(我通常会将其与跨域违规相关联)。
奇怪的是,我的应用程序没有问题地调用其他外部资源 - 所以我不确定它是如何完成的,并且不能这样做。如果我无法控制这种外部资源,我会SOL吗?
$scope.serviceDesc = layerRes.get();
答案 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应该没有太大区别。