📜  req.query express (1)

📅  最后修改于: 2023-12-03 15:04:53.350000             🧑  作者: Mango

Express 中的 req.query

在 Express 中,可以使用 req.query 来获取客户端通过 URL 传递的查询参数。通过 req.query,我们可以更方便地获取客户端传递的参数,以便进行相应的逻辑操作。

获取查询参数

要获取查询参数,只需要在请求处理函数中使用 req.query 即可。例如,以下代码中,我们可以使用 req.query 来获取名为 name 的查询参数:

app.get('/user', function(req, res) {
  const name = req.query.name;
  res.send(`Hello, ${name}`);
});

在上述代码中,我们通过 req.query.name 获取了客户端传递的查询参数,并使用 template string 将其输出到页面中。

查询参数格式

查询参数是通过 URL 的查询字符串来传递的,格式为 key=value,多个查询参数之间使用 & 连接。例如,以下 URL 中有两个查询参数:

https://example.com/search?keywords=nodejs&category=books

在上述 URL 中,keywords 和 category 分别是查询参数的键,nodejs 和 books 则是对应的值。

获取多个值的查询参数

有时,我们需要获取同一个查询参数的多个值。例如,以下 URL 中有两个同名的查询参数:

https://example.com/search?keywords=nodejs&keywords=javascript

在这种情况下,我们可以使用 req.query.key 来获取对应的值,Express 会为我们自动将多个值封装在一个数组中。例如,以下代码中,我们可以使用 req.query.keywords 来获取上述 URL 中的查询参数值:

app.get('/search', function(req, res) {
  const keywords = req.query.keywords;
  res.send(`Your keywords are: ${keywords.join(', ')}`);
});

在上面的代码中,我们使用了 join() 方法将数组中的元素连接成一个字符串,方便进行输出。

总结

通过以上介绍,我们了解到了 Express 中的 req.query,它可以方便地获取客户端传递的查询参数,并可以自动处理同一个查询参数的多个值。在开发中,使用 req.query 可以让我们更加高效地处理客户端传递的参数,提高开发效率。