gpt4 book ai didi

javascript - Node/快速请求查询

转载 作者:行者123 更新时间:2023-11-30 07:22:23 26 4
gpt4 key购买 nike

我有一个看起来像这样的端点。

// GET /api/logs/
app.get('/api/logs', function (request, response) {
if (request.query.reverse === true) {
response.send((mainModule.logs).reverse());
}
else {
response.send(mainModule.logs);
}
});

响应是一个对象数组,我希望顺序由查询参数“reverse” bool 值确定。现在查询似乎没有做任何事情。我究竟做错了什么?谢谢!

最佳答案

查询字符串值始终以字符串形式返回,因此您应该检查 reverse === 'true' 而不是 reverse === true。这是因为 Express 的 req.query 直接从 Node 的查询字符串解析器中提取(代码 here )。如果您在 Node 中运行以下命令,您会看到结果为 reverse 参数返回一个字符串而不是 bool 值。

var query = require('querystring').parse('reverse=true');
console.log(query); // returns { reverse: 'true' }

请注意,使用 request.query.reverse == true 将不起作用。 ===== 都将返回 false。因此,您需要执行 == 'true'==='true'

关于javascript - Node/快速请求查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33987317/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com