我试图简单地连接到阀门的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,它应该工作。