首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Node.js url.parse结果返回到字符串

Node.js url.parse结果返回到字符串
EN

Stack Overflow用户
提问于 2011-09-22 23:27:05
回答 3查看 43.4K关注 0票数 17

我正在尝试做一些简单的分页。为此,我尝试解析当前的URL,然后生成指向相同查询的链接,但带有递增和递减的page参数。

我尝试执行以下操作,但它生成了相同的链接,没有新的page参数。

代码语言:javascript
复制
var parts = url.parse(req.url, true);
parts.query['page'] = 25;
console.log("Link: ", url.format(parts));

documentation for the URL module似乎暗示format是我所需要的,但我做错了什么。

我知道我可以手动迭代和构建字符串,但我希望有一个现有的方法可以做到这一点。

EN

回答 3

Stack Overflow用户

发布于 2011-09-22 23:51:59

在我看来,这是node中的一个bug。你可以试试

代码语言:javascript
复制
// in requires
var url = require('url');
var qs = require('querystring');

// later
var parts = url.parse(req.url, true);
parts.query['page'] = 25;
parts.query = qs.stringify(parts.query);
console.log("Link: ", url.format(parts));
票数 3
EN

Stack Overflow用户

发布于 2011-09-22 23:50:01

另一个答案是好的,但你也可以这样做。querystring模块用于处理查询字符串。

代码语言:javascript
复制
var querystring = require('querystring');
var qs = querystring.parse(parts.query);
qs.page = 25;
parts.search = '?' + querystring.stringify(qs);
var newUrl = url.format(parts);
票数 2
EN

Stack Overflow用户

发布于 2013-01-22 23:26:40

要在不需要我使用的(‘URL’)的情况下干掉代码并获取url变量:

代码语言:javascript
复制
/* 
   Used the url module to parse and place the parameters into req.urlparams.
   Follows the same pattern used for swagger API path variables that load 
   into the req.params scope.

*/
  app.use(function(req, res, next) {
    var url = require('url');
    var queryURL = url.parse(req.url, true);
    req.urlparams = queryURL.query;
    next();
  });

var myID = req.urlparams.myID;

这将解析url变量并将其移动到req.urlparams变量中。它在请求工作流程的早期运行,因此可用于所有expressjs路径。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7517332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档