Riot api v3 экспортирует результаты в txtFile

Я пытаюсь работать над проектом колледжа, в результате чего я запрашиваю API RIOT и возвращаю необходимые результаты. Ниже вы можете увидеть мой код. По какой-то причине я продолжаю получать сообщение об ошибке, не могу прочитать идентификатор свойства на undefined, и оно ссылается на строку: data.id = json [s_toSearch].id;

По какой-то причине идентификатор поля не распознается как [s_toSearch].id либо не распознает, что это поле существует, либо не распознает, что там есть какие-либо данные для передачи. Я перешел на страницу результатов вручную и при сохранении страницы автоматически пытается сохранить ее как искомое имя пользователя, а при просмотре исходного кода поле json называется id, поэтому я в тупике. Моей следующей идеей было посмотреть, экспортировать ли результаты во временный текстовый файл, а затем запросить результаты JSON в этом, но я не могу найти способ сделать это легко, пожалуйста, помогите.

мой файл server.js:

    var express = require('express');

    var app = express();

    var exphbs = require('express-handlebars');

    var request = require('request');

    var async = require('async');


    app.engine('handlebars', exphbs({defaultLayout: 'main'}));


    app.set('view engine', 'handlebars');



    app.get('/', function(req, res){

      var data = {};

      var api_key = 'RGAPI-a6569690-ce3e-4573-8bad-93b6d29a1e0e';

      var s_toSearch = 'Neodreadlord';

      var URL = 'https://euw1.api.riotgames.com/lol/summoner/v3/summoners
    /by-name/' + s_toSearch + '?api_key=' + api_key;


      async.waterfall([

        function(callback) {

          request(URL, function(err, response, body){

            if(!err && response.statusCode == 200){

              var json = JSON.parse(body);


              data.id = json [s_toSearch].id;

              data.name = json [s_toSearch].name;

              callback(null, data);


            } else {

              console.log(err);

            }

          });

        }

      ],

    function(err, data){

      if(err) {

        console.log(err);

        return;

      }


      res.render('index', {

        info: data

      });

    });

    });


    var port = Number(process.env.PORT || 3000);

    app.listen(port);

// мой файл index.handlebars:

            {{info.name}} has an id of {{info.id}};

// и сообщение об ошибке в терминале:

            neo@Zion:~/ProjectLOL$ nodemon server.js

    [nodemon] 1.12.1

    [nodemon] to restart at any time, enter `rs`

    [nodemon] watching: *.*

    [nodemon] starting `node server.js`

    /home/neo/ProjectLOL/server.js:24

              data.id = json [s_toSearch].id;
                                 ^


    TypeError: Cannot read property 'id' of undefined

        at Request._callback (/home/neo/ProjectLOL/server.js:24:38)

        at Request.self.callback (/home/neo/ProjectLOL/node_modules
    /request/request.js:186:22)

        at emitTwo (events.js:87:13)

        at Request.emit (events.js:172:7)

        at Request.<anonymous> (/home/neo/ProjectLOL/node_modules/request
    /request.js:1163:10)

        at emitOne (events.js:77:13
        at Request.emit (events.js:169:7)

        at IncomingMessage.<anonymous> (/home/neo/ProjectLOL/node_modules
    /request/request.js:1085:12)

        at IncomingMessage.g (events.js:260:16)

        at emitNone (events.js:72:20)

    [nodemon] app crashed - waiting for file changes before starting...

0 ответов

Другие вопросы по тегам