如何显示API请求的console.log结果

时间:2016-03-01 00:16:06

标签: json node.js steam-web-api

//Express
var express = require('express');
var server = express();

//Steam
var SteamWebAPI = require('steamwebapi').SteamWebAPI;
SteamWebAPI.setAPIKey('XXXXXXXXXXXXXXXXXXXXXXXXXXXX');

//Steam - Recently Played Games
server.get('/games', function (req, res) {
    SteamWebAPI.getRecentlyPlayedGames('76561198190043289', 5, function(response) {
        res.json(response.response.games);
    });
});

//Localhost
server.listen(3000, function () {
    console.log('Server: ');
});

这是我的输出:

[{"appid":730,"name":"Counter-Strike: Global Offensive","playtime_2weeks":620,"playtime_forever":4016,"img_icon_url":"69f7ebe2735c366c65c0b33dae00e12dc40edbe4","img_logo_url":"d0595ff02f5c79fd19b06f4d6165c3fda2372820"}]

好的,如果您访问网站:https://steamid.io/,请输入您的姓名,按“查找”按钮,即可获得您的ID。我怎么做到的?是否有可能让该用户输入他的名字/身份证并获得信息。这样我就只能进入用户,并根据他的要求获取文字和图像。

就像,我最近学到了很多关于Steam Web Api的知识,但我还是没有想出如何显示数据。一些很酷的家伙帮助了我,但是我们使用了Angular,我还不熟悉它,我现在打算学习Ember.js,但它们还有其他选择吗?

2 个答案:

答案 0 :(得分:0)

如果你想做你的榜样,你似乎错过了前面的部分,还有一些后端。

首先您必须创建一个表单。在您的情况下,只需要一个输入来询问用户ID和提交按钮就足够了。然后,您在html文件中创建了表单,使用Express框架(http://expressjs.com/en/4x/api.html#app.render)提供的呈现函数进行渲染

并在html表单(http://www.w3schools.com/html/html_forms.asp

上提示

但是你必须将它呈现给特定的URL,例如

    // Render your basic form
    // The form is in the form.html file
    // By default, views have to be placed into the view or views folder, I don't know exactly no more
    server.get('/ask_user_id', function (req, res) {
         app.render('form', function(err, html){
             if(err) return res.send(err);
             else    return res.send(html)             
         });
    });

因此,如果您继续localhost:3000/ask_user_id,您的表单将会呈现

第二当用户将其ID写入您的输入并提交表单时,您必须检索这些信息,然后调用您的Steam API。因此,如果您的表单操作是POST,并且要提交的网址为/user_infos,并且用户ID的名称输入为userId,则此处将为代码。

    // Render your basic form
    // The form is in the form.html file
    // By default, views have to be placed into the view or views folder, I don't know exactly no more
    server.get('/ask_user_id', function (req, res) {
         app.render('form', function(err, html){
             if(err) return res.send(err);
             else    return res.send(html)             
         });
    });

    // You have to have a route that handle your form submission
    server.post('/user_infos', function (req, res) {

        // All your form submitted is in your req.body
        // So retrieve the userID
        var _userID = req.body.userId;

        // Then sent the variable to the SteamAPI
        SteamWebAPI.getRecentlyPlayedGames(_userID, 5, function(response) {
            return res.json(response.response.games);
        });

    });

希望有所帮助

答案 1 :(得分:0)

在您的控制器/工厂中,确保您有一个回调函数来从服务器获取响应。

$scope.postData = function(){
    $http.post('/', {data: someData})
    .then(function(response){
        console.log(JSON.stringify(response.data));
});