首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在nodejs Express服务的查询参数中发送整数

如何在nodejs Express服务的查询参数中发送整数
EN

Stack Overflow用户
提问于 2013-12-04 00:01:14
回答 7查看 46.2K关注 0票数 28

我的机器上运行着一台nodejs express web服务器。我想发送一个带有查询参数的get请求。有没有办法找到每个查询参数的类型,比如int,bool,string。我不知道查询参数键值。我在服务器端解释为键值对的json对象。

EN

回答 7

Stack Overflow用户

发布于 2013-12-04 00:11:47

不能,因为HTTP没有类型的概念:所有东西都是字符串,包括querystring参数。

您需要做的是使用req.query object并使用parseInt()手动将字符串转换为整数

代码语言:javascript
复制
req.query.someProperty = parseInt(req.query.someProperty);
票数 39
EN

Stack Overflow用户

发布于 2016-06-21 17:18:08

您也可以尝试

代码语言:javascript
复制
var someProperty = (+req.query.someProperty);

这对我很有效!

票数 13
EN

Stack Overflow用户

发布于 2016-01-22 03:51:33

正如Paul Mougel所提到的,http查询和路径变量都是字符串。但是,可以在处理它们之前对其进行拦截和修改。我是这样做的:

代码语言:javascript
复制
var convertMembershipTypeToInt = function (req, res, next) {
  req.params.membershipType = parseInt(req.params.membershipType);
  next();
};

之前:

代码语言:javascript
复制
router.get('/api/:membershipType(\\d+)/', api.membershipType);

之后:

代码语言:javascript
复制
router.get('/api/:membershipType(\\d+)/', convertMembershipTypeToInt, api.membershipType);

在这种情况下,req.params.membershipType将从字符串转换为整数。注意正则表达式,以确保只将整数传递给转换器。

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

https://stackoverflow.com/questions/20355876

复制
相关文章

相似问题

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