阻止从开放天气加载资源

时间:2017-07-06 15:10:05

标签: javascript angularjs openweathermap

处理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

任何想法,如何解决?

2 个答案:

答案 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");