我正在尝试做一些简单的分页.为此,我正在尝试解析当前的URL,然后生成指向同一查询的链接,但是使用递增和递减的page参数.
我已尝试执行以下操作,但它生成相同的链接,没有新page参数.
var parts = url.parse(req.url, true);
parts.query['page'] = 25;
console.log("Link: ", url.format(parts));
Run Code Online (Sandbox Code Playgroud)
URL模块的文档似乎表明这format是我需要的,但我做错了.
我知道我可以手动迭代并构建字符串,但我希望有一个现有的方法.
Ale*_*pin 48
如果查看最新文档,可以看到其url.format行为方式如下:
search将被用来代替queryquery(对象;请参阅查询字符串)仅在search缺席时使用.
当你修改时query,search保持不变并使用它.所以要强制它使用query,只需search从对象中删除:
var url = require("url");
var parts = url.parse("http://test.com?page=25&foo=bar", true);
parts.query.page++;
delete parts.search;
console.log(url.format(parts)); //http://test.com/?page=26&foo=bar
Run Code Online (Sandbox Code Playgroud)
确保您始终阅读最新版本的文档,这将为您节省很多麻烦.