ionic ngResource不返回任何东西



我试图简单地连接到阀门的API使用一个例子端点,他们有在他们的文档。以下是我尝试过的两种不同的获取数据的方法。

.controller('APICtrl', function($scope, $resource) {
     var svc = $resource('http://api.steampowered.com/ISteamNews/GetNewsForApp/v0002/?appid=440&count=3&maxlength=300&format=json');
     $scope.data = svc.query(function(){
         console.log(svc);
     });
     console.log(svc);
})
下面是不使用ngResource 的更基本的尝试
.controller('APICtrl', function($scope, $http) {
    // Simple GET request example :
    $http.get('http://api.steampowered.com/ISteamNews/GetNewsForApp/v0002/?appid=440&count=3&maxlength=300&format=json').
      success(function(data, status, headers, config) {
          console.log(data, status, headers, config);
        // this callback will be called asynchronously
        // when the response is available
      }).
      error(function(data, status, headers, config) {
          console.log(data, status, headers, JSON.stringify(config));
        // called asynchronously if an error occurs
        // or server returns response with an error status.
      });
})

现在第一个只是输出[],好像什么都没有,第二个输出这个

注意!这个url在浏览器上工作!http://api.steampowered.com/ISteamNews/GetNewsForApp/v0002/?appid=440&数= 3,最大长度= 300,格式= json

编辑所以在放弃了晚上之后,我在没有肝脏负荷的情况下为android构建,在睡觉前在应用程序上乱转,并注意到,一旦我做了一切开始工作,是否有一种方法可以启用http的肝脏负荷。获取还是资源?

据我所知,Steam API不支持CORS。我不太了解Ionic,但我认为如果你在浏览器中开发,这是一个问题。我不认为这是一个问题,如果你在设备上运行,但不要引用我的话。

你很幸运,Ionic已经解决了这个问题。这篇文章真的涵盖了一切。这个想法是,你需要使用Ionic CLI代理。

在这个例子中应该是这样的:

{
  "name": "proxy-example",
  "app_id": "",
  "proxies": [
    {
      "path": "/api/steam",
      "proxyUrl": "http://api.steampowered.com/ISteamNews/GetNewsForApp/v0002/?appid=440&count=3&maxlength=300&format=json"
    }
  ]
}

有了这些设置,你应该可以点击http://localhost:8100/api/steam,它应该工作。

相关内容

  • 没有找到相关文章

最新更新