处理AngularJs应用程序并通过$ resource调用Open Weather API,面临以下问题。
阻止从$ sceDelegate策略允许的url加载资源。网址:http://samples.openweathermap.org/data/2.5/forecast
代码
$scope.weatherAPI = $resource('http://samples.openweathermap.org/data/2.5/forecast',
{ callback: 'JSON_CALLBACK' },
{ get: { method: 'JSONP' } }
);
$scope.weatherResul = $scope.weatherAPI.get({ q: $scope.srchCityName
任何想法,如何解决?
答案 0 :(得分:1)
我认为您必须将URL作为受信任的资源启用。我从不使用$ resource,所以机制可能有点不同,但基本上你必须注入$ sce然后调用$ sce.getTrustedResourceUrl('http://samples.openweathermap.org/data/2.5/forecast')。使用$ resource,您可以执行此操作:
$ echo 'TodayToday is an an banana' | perl -lape 's/\b([a-zA-Z ]+)\1/\1/g'
Today is an banana
如果这不起作用,请参阅此答案:$sce.trustAsResourceUrl() globally以获取全局白名单解决方案。
答案 1 :(得分:0)
您甚至不需要这样做只需删除CALLBACK和JSONP
$resource("http://api.openweathermap.org/data/2.5/weather/?APPID=YOURAPPID");