我的机器上运行着一台nodejs express web服务器。我想发送一个带有查询参数的get请求。有没有办法找到每个查询参数的类型,比如int,bool,string。我不知道查询参数键值。我在服务器端解释为键值对的json对象。
发布于 2013-12-04 00:11:47
不能,因为HTTP没有类型的概念:所有东西都是字符串,包括querystring参数。
您需要做的是使用req.query object并使用parseInt()手动将字符串转换为整数
req.query.someProperty = parseInt(req.query.someProperty);发布于 2016-06-21 17:18:08
您也可以尝试
var someProperty = (+req.query.someProperty);这对我很有效!
发布于 2016-01-22 03:51:33
正如Paul Mougel所提到的,http查询和路径变量都是字符串。但是,可以在处理它们之前对其进行拦截和修改。我是这样做的:
var convertMembershipTypeToInt = function (req, res, next) {
req.params.membershipType = parseInt(req.params.membershipType);
next();
};之前:
router.get('/api/:membershipType(\\d+)/', api.membershipType);之后:
router.get('/api/:membershipType(\\d+)/', convertMembershipTypeToInt, api.membershipType);在这种情况下,req.params.membershipType将从字符串转换为整数。注意正则表达式,以确保只将整数传递给转换器。
https://stackoverflow.com/questions/20355876
复制相似问题