Insert var into url and follow in node js with cheerio/request

I am trying to take a variable from the original url, insert it into a second url, visit that url and then access variable from it. I have two problems:

Problem 1: 'myurl' variable returns value of

"http://api.trove.nla.gov.au/work/undefined?key=6k6oagt6ott4ohno&reclevel=full"

That is, it is not taking the 'myid' variable.

Problem 2: How do I then follow the 'myurl' url as I want to access the DOM? Do I make another 'request' for 'myurl'?

Here is my code so far:

var request = require('request'),
    cheerio = require('cheerio');
request('http://api.trove.nla.gov.au/result?key=6k6oagt6ott4ohno&zone=book&l-advformat=Thesis&sortby=dateDesc&q=+date%3A[2000+TO+2014]&l-availability=y&l-australian=y&n=0&s=0', function(error, response, html) {
    if (!error && response.statusCode == 200) {
        var $ = cheerio.load(html, {
          xmlMode: true
        });

        var myid = ($('work').attr('id'))
        var myurl = "http://api.trove.nla.gov.au/work/" +(myid)+ "?key=6k6oagt6ott4ohno&reclevel=full"
        console.log(myurl)
    }
    });

  1. Your selector is probably wrong, did you mean '#work' or '.work' perhaps?

  2. Yes, you'll have to make another request to myurl using request() (since that's what you're using)