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