我有一些JSON形式的文本,我可以使用我用ExpressJS / nodeJS编写的服务器从Steam的Web API中获取。此JSON存储在变量中。
我在这里要做的是基本上把我存储在变量中的JSON,发送到我的Angular,然后将数据显示在我的页面上。
当我这样做时,我的控制台会显示页面的原始HTML。
我有什么遗失的东西吗?
我的节点:
app.get('/steam.html', function(req, res){
request.get(steam_api, function(error, steamResponse, steamBody) {
var steamList = JSON.parse(steamBody);
gameList = steamList["applist"]["apps"];
res.json({gl: gameList});
});
});
我的角度:
$http.get('steam.html').success(function(data){
$scope.gameList = data;
console.log(data);
});
我的steam.html
<body ng-app="gameSearch" ng-controller="gameSearchController">
<p>{{title}}</p>
<ul ng-repeat="steam in gameList track by $index">
<li>{{steam.name}}</li>
</ul>
</body>
编辑:如果有帮助的话,这就是我所看到的截图。正如你将看到的那样,我得到了一堆子弹点而不是每个游戏的名字。
Express JS passes bullet points
编辑2:为清楚起见,我应该添加的另一件事是我使用了一些我在codepen的博客帖子中找到的nodeJS代码,如下所示(https://codepen.io/johnchristopherjones/post/how-do-i-use-the-steam-api-in-my-web-app):
app.get('/steam/game/:appid/achievements', function(httpRequest, httpResponse) {
// Calculate the Steam API URL we want to use
var url = 'http://api.steampowered.com/ISteamUserStats/GetSchemaForGame/' +
'v2/?key=YOURSTEAMAPIKEYHERE&appid=' +
httpRequest.params.appid;
request.get(url, function(error, steamHttpResponse, steamHttpBody) {
httpResponse.setHeader('Content-Type', 'application/json');
httpResponse.send(steamHttpBody);
});
});
答案 0 :(得分:0)
因为有一段时间没有对这个问题进行更新,我想我会告诉你我最后做的事情。在我的节点中,我最终从Steam Web API中获取JSON并将其保存在JSON文件中。
在Angular中,我在该JSON文件上执行了$ http.get,然后使用ng-href指令构建了我的链接。