【问题标题】:How to display console.log results from API requests如何显示来自 API 请求的 console.log 结果
【发布时间】:2016-03-01 00:16:06
【问题描述】:
//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,但是它们有什么替代品吗?

【问题讨论】:

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


    【解决方案1】:

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

    首先您必须创建一个表单。在您的情况下,只需输入询问用户 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,提交的Url是/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);
            });
    
        });
    

    希望对你有帮助

    【讨论】:

    • 解释得真好!我得到这些东西...我会试试这个,我会告诉你它是否有效...如果我编辑评论,你会收到通知吗?
    • 我不知道编辑,但如果你添加一些,是的:)。祝你好运:)
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-08-01
      • 2017-02-10
      • 1970-01-01
      • 2018-03-08
      • 1970-01-01
      • 2021-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多