2016-12-04 180 views
-1

我使用ExpressJS/nodeJS中編寫的服務器從Steam的Web API中抽取了一些JSON形式的文本。這個JSON存儲在一個變量中。ExpressJS將變量傳遞給Angular

我在這裏要做的是基本上把我存儲在變量中的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:另一件事我要補充明確的目標,我使用了一些的NodeJS代碼,我在博文中從codepen如下圖所示(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

你能提供https://jsfiddle.net/給你的代碼片段嗎? –

+0

這裏你去了:https://jsfiddle.net/ujo8k80e/我應該提到steam_api如我的節點所示是一個鏈接到一個Steam API調用,其中包括我的Steam網絡API密鑰(我不能透過蒸汽網絡API條款 –

+0

更新:在我的HTML中,我將li標籤的內容更改爲'

  • {{steam}}
  • ',然後每個項目符號點顯示我的HTML的每個字符,因此$ scope.gameList以某種方式提取steam.html的原始HTML代替我的JSON(存儲在我的NodeJS/expressJS服務器中的一個變量中)這裏是imgur的截圖:http://i.imgur.com/jbnJMYQ.jpg –

    回答

    0

    由於有一段時間以來,我一直沒有更新這個問題,我想我會告訴你我最終做了什麼。在我的節點中,我最終從Steam Web API抓取了JSON並將其保存在JSON文件中。

    在Angular中,我在那個JSON文件上做了一個$ http.get,然後使用ng-href指令構建了我的鏈接。