ExpressJS 将变量传递给 Angular
ExpressJS pass variables to Angular
我有一些 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});
});
});
我的angular:
$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);
});
});
因为这个问题已经有一段时间没有更新了,所以我想我会告诉你我最后做了什么。在我的节点中,我最终从 Steam Web API 中获取了 JSON 并将其保存在 JSON 文件中。
在 Angular 中,然后我在那个 JSON 文件上做了一个 $http.get,然后使用 ng-href 指令建立了我的链接。
我有一些 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});
});
});
我的angular:
$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);
});
});
因为这个问题已经有一段时间没有更新了,所以我想我会告诉你我最后做了什么。在我的节点中,我最终从 Steam Web API 中获取了 JSON 并将其保存在 JSON 文件中。
在 Angular 中,然后我在那个 JSON 文件上做了一个 $http.get,然后使用 ng-href 指令建立了我的链接。