Node.js Node Express Server Get未获取第一个'';在查询中

Node.js Node Express Server Get未获取第一个'';在查询中,node.js,express,Node.js,Express,我正在尝试使用以下参数调用我的节点服务器 http://localhost:8080/products/?a=13214?b=awedf 我收到错误:无法获取/products/?a=13214?b=awedf 当我删除字母“a”之前的“?”时,我得到以下查询: { b: 'awedf' } 我希望能够添加“?”并获得以下查询或类似内容,从而获得以下数组: { a:13214, b: 'awedf' } 以下是我的代码: var express = require('express'),

我正在尝试使用以下参数调用我的节点服务器

http://localhost:8080/products/?a=13214?b=awedf
我收到错误:无法获取/products/?a=13214?b=awedf

当我删除字母“a”之前的“?”时,我得到以下查询:

{ b: 'awedf' }
我希望能够添加“?”并获得以下查询或类似内容,从而获得以下数组:

{ a:13214, b: 'awedf' }
以下是我的代码:

var express = require('express'),
    app = express();

var timeout = 0;

app.use(express.static(__dirname, '/'));

app.get('/products/:siteId', function(req, res) {
    console.log(req.query);
    res.json(products);
});

app.listen(8080);

console.log('Express listening on http://localhost:8080/');

  var products = [
      {"Product":"Product A"}
      ,{"Product":"Product B"}
  ];
编辑: 我通过更改查询参数修复了它:

http://localhost:8080/product?a=13214&b=awedf

而不是第二个
添加
&
。参数用符号和分隔。问号表示查询字符串的开头

此外,路径中不需要
:siteId
。如果您想使用
:siteId
,那么您的url看起来像/products/1234?b=abc


req.参数.siteId==1234和
req.query.b==='abc'
,因此您应该将
b
之前的
替换为
,如下所示:
http://localhost:8080/products/?a=13214&b=awedf

编辑:由于您无法修改参数,并且您已经拥有
/:siteId
,因此您应该能够访问
a
的值,如下所示:
req.params.siteId