Search code examples
javascriptjsongetrequestresponse

Why i cannot get a JSON response data in Javascript? with axios+express


I'm trying to get the lyrics as a response to this simple lyrics request (of an Eminem song for example) , it doesn't give me any errors but I don't understand why I'm not getting the response. What am i missing? Please help me :)

app.get('/lyrics', function(req, res)
{
  axios.get('https://api.lyrics.ovh/v1/eminem/stan')
    .then(function(data)
    {
      let result = {
        lyrics : data['lyrics'],
      };
      res.status(200).send(result);
    })
    .catch(function(err)
    {
      if(err['statusCode'] == 404)
        res.send({error : {status : 404, message : 'Lyrics not found'}});
      else
        res.send(err);
    })
    .then(function () {
    // always executed
    });
});

Solution

  • As Phil Mentioned, Edit your code to this and you'll be fine

    app.get('/lyrics', function(req, res)
    {
      axios.get('https://api.lyrics.ovh/v1/eminem/stan')
        .then(function(data)
        {
          let result = {
            lyrics : data.data.lyrics,
          };
          res.status(200).send(result);
        })
        .catch(function(err)
        {
          if(err['statusCode'] == 404)
            res.send({error : {status : 404, message : 'Lyrics not found'}});
          else
            res.send(err);
        })
        .then(function () {
        
        });
    });