# req.query
此属性是一个对象,其中包含路由中每个查询字符串参数的属性。
# 概要
req.query
# 描述
此属性是一个对象,其中包含路由中每个查询字符串参数的属性。当 查询解析器
设置为禁用时,它是一个空对象 {}
,否则它是配置的查询解析器的结果。
由于
req.query
的形状基于用户控制的输入,因此该对象中的所有属性和值都是不可信的,应该在信任之前进行验证。例如,req.query.foo.toString()
可能以多种方式失败,例如foo
可能不存在或可能不是字符串,toString
可能不是函数,而是字符串或其他用户输入。
可以使用 查询解析器应用设置
配置此属性的值,以按照您的应用程序需要的方式工作。一个非常流行的查询字符串解析器是 qs 模块
,这是默认使用的。qs
模块可以通过许多设置进行配置,并且可能需要使用与默认设置不同的设置来填充 req.query
:
const qs = require('qs')
app.setting('query parser',
(str) => qs.parse(str, { /* custom options */ }))
查看 查询解析器应用设置
文档以了解其他自定义选项。
← req.protocol req.res →