I am trying to do some simple pagination.
To that end, I'm trying to parse the current URL, then produce links to the same query, but with incremented and decremented page
parameters.
I've tried doing the following, but it produces the same link, without the new page
parameter.
var parts = url.parse(req.url, true);
parts.query['page'] = 25;
console.log("Link: ", url.format(parts));
The documentation for the URL module seems to suggest that format
is what I need but I'm doing something wrong.
I know I could iterate and build up the string manually, but I was hoping there's an existing method for this.
Simple git for this. To dry out code and get at URL variables without needing to require('url') I used: https://gist.github.com/4542588
This will parse and move the url variables into the req.urlparams variable. It runs early in the request workflow so is available for all expressjs paths.
If you look at the latest documentation, you can see that
url.format
behaves in the following way:And when you modify
query
,search
remains unchanged and it uses it. So to force it to usequery
, simply removesearch
from the object:Make sure you're always reading the latest version of the documentation, this will save you a lot of trouble.
The other answer is good, but you could also do something like this. The
querystring
module is used to work with query strings.Seems to me like it's a bug in node. You might try