当前位置: 首页 > 知识库问答 >
问题:

如何在Express中访问“?”后的GET参数?

甄越
2023-03-14

我知道如何获取如下查询的参数:

app.get('/sample/:id', routes.sample);

在这种情况下,我可以使用req.params.id获取参数(例如/sample/2中的2)。

但是,对于类似/sample/2?color=red的url,如何访问变量color

我尝试了req.params.color,但没有成功。

共有2个答案

厍建义
2023-03-14

使用req.query,获取路由中查询字符串参数中的值。参考请求查询。假设在路由http://localhost:3000/?name=satyam中,您希望获取name参数的值,那么您的“get”路由处理程序将如下所示:-

app.get('/', function(req, res){
    console.log(req.query.name);
    res.send('Response send to client::'+req.query.name);

});
闽康安
2023-03-14

因此,在签出express引用后,我发现req.query.color将返回我要查找的值。

req.params引用URL中带有“:”的项,req.query引用与“?”关联的项

示例:

GET /something?color1=red&color2=blue

则在express中,处理程序:

app.get('/something', (req, res) => {
    req.query.color1 === 'red'  // true
    req.query.color2 === 'blue' // true
})
 类似资料:
  • 问题内容: 我知道如何为这样的查询获取参数: 在这种情况下,我可以使用获取参数(例如中的)。 但是,对于url like ,如何访问变量? 我试过了,但是没有用。 问题答案: 因此,在检查了快速参考之后,我发现它将返回我想要的值。 req.params是指URL中带有“:”的项目,而req.query是指与“?”相关的项目。 例: 然后,快递员:

  • 创建资源“/flowers”和GET方法 获取->方法请求->URL查询字符串参数->添加了“颜色” 获取->集成请求->类型:Lambda函数 获取->集成请求->URL查询字符串参数->添加的, 我试图访问lambda处理程序中的参数,但事件总是空的,我不知道参数应该在哪里 我想我不能使用主体映射tamplate,除非我没有使用get的请求主体。

  • 问题内容: 如何获得与zf2中的页面请求相关的各种参数?像发布/获取参数一样,正在访问的路由,发送的标头和上传的文件。 问题答案: 最简单的方法是使用beta5中引入的Params插件。它具有实用方法,可轻松访问不同类型的参数。与往常一样,阅读测试对于了解应该如何使用某些东西非常有价值。 获得单一价值 要获取控制器中命名参数的值,您将需要为要查找的参数类型选择适当的方法并传递名称。 例子: 默认值

  • 我是Node.js和Express的新手,我一直在做一个RESTful API项目,我试图在URL中发送一个带有多个参数的GET请求: 这是我的路线: 我是这样称呼它的: 而且我也尝试过 它最终会走这条路线: 那么,我写endpoint的方式是否错误?还是我要求的方式?

  • 问题内容: 我有一个应用程序,它基本上是服务的代理。该应用程序本身是在Jersey上构建的,由Jetty提供。我有这个资源方法: 用户提交POST表单。所有POST请求都通过此方法。除了一个细节外,UriInfo和HttpServletRequest被适当地注入:似乎没有参数。这是我从终端发送的请求: 此处的POST正文显然包含两个参数:foo和biz。但是,当我尝试在代码()中获取它们时,结果是

  • 我有一个应用程序,基本上是一个服务的代理。该应用程序本身是基于Jersey构建的,由Jetty提供服务。我有这个资源方法: 用户提交POST表单。所有POST请求都通过此方法。UriInfo和HttpServletRequest被适当地注入,除了一个细节:似乎没有参数。这是我从终端发送的请求: 这里,POST正文显然包含两个参数:foo和biz。但当我尝试在代码中获取它们时(),结果是一个大小为0