在以下情况下处理案件选项的最佳方法是什么
我希望能够检查req.query字符串 rowCount,rowcount或ROWCOUNT存在,然后获取它的值。 希望有一种简单的方法可以检查任何类型的情况下的查询字符串是否存在。
如果我使用
if (!req.query.rowcount) {var t_rowcount = parseInt(25)}
如果查询字符串为rowCount,则将不匹配
我在Windows 2016服务器上运行NodeJs
答案 0 :(得分:1)
按原样不可能,但是您可以插入一个非常简单的中间件,例如,将req.query中的所有键都小写:
// insert this before your routes
app.use(function(req, res, next) {
for (var key in req.query)
{
req.query[key.toLowerCase()] = req.query[key];
}
next();
});
答案 1 :(得分:0)
在rakesh回答的帮助下,我得以提出一种解决我需要的解决方案。
app.use(function(req, res, next) {
for (const key in req.query) {
if( (key.toLowerCase() === key ) == false){
req.query[key.toLowerCase()] = req.query[key]
delete req.query[key]
}
}
该中间件实际上获取了req.query对象中的所有键,检查该键是否全部为小写字母,如果不是,则不进行任何操作。如果不是,我们将使用小写字母创建新的键,然后删除原始的非小写字母,以使对象大小保持不变。
此外,如果有人在大写或驼色情况下需要此图标,只需更改为lowerCase out即可完成