【问题标题】:& in http get request& 在 http 获取请求中
【发布时间】:2013-10-23 07:31:42
【问题描述】:

我尝试编写一个服务器来管理一些 get 请求,如下所示: 获取http://some-server.aa:1337/action?param1=1000&param2=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 的请求吗?

标签: node.js get


【解决方案1】:

问题不在 node.js 中。它在我使用的 CURL 请求中。从浏览器它工作正常。 在这里找到解决方案:How to pass multiple parameters to cron job with curl?
请求: curl -sS 'http://server.aa:1337/action?param1=1&param2=2' 它工作正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-04
    • 1970-01-01
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    • 2014-04-23
    • 2012-03-09
    相关资源
    最近更新 更多