【发布时间】:2013-10-23 07:31:42
【问题描述】:
我尝试编写一个服务器来管理一些 get 请求,如下所示: 获取http://some-server.aa:1337/action?param1=1000¶m2=1000 但我无法从 url 解析 param1 和 param2,因为 param2 没有出现在服务器部分。
app.get('/action', function(req, res) {
var parts = url.parse(req.url, true);
var query = parts.query;
console.log('keys: '+Object.keys(query)); //output: keys: caller
console.log('url: '+parts.path); // output: url:/action?param1=1000
});
我使用 express、url 和 path 模块。如果我能够在服务器上接收完整的 url,那么
但在此之前,我需要能够从 req 接收完整路径。有什么想法吗?
UPD
从我这边看如何:
https://dl.dropboxusercontent.com/u/12720156/nodejsbug.png
【问题讨论】:
-
您应该能够看到查询字符串中的所有参数。
console.log(req.query)和console.log(req.url)向您展示了什么? -
console.log(req.query) -> [object Object]; console.log(req.url) -> /action?param1=1000
-
"[object Object]?然后试试
console.log(JSON.stringify(req.query)) -
console.log(JSON.stringify(req.query)) -> {"param1":"1000"}
-
据我所见,没有 param2... 一个愚蠢的问题,但你 100% 确定你真的发送了一个设置了 param2 的请求吗?