【问题标题】:Grabbing data from get request query node.js从获取请求查询 node.js 中获取数据
【发布时间】:2013-05-23 07:22:39
【问题描述】:

我正在发出虚假图片请求。

客户端

var image = document.createElement("img");
image.width = 1;
image.height = 1;
image.src = "http://localhost:8080/server/?currentVisitTimestamp%3D1369293177%26lastVisitTimestamp%3D1369293137" //enocded 

请求状态为200

服务器端 我正在使用 express 框架

   app.get('/server',function(request,response){
    console.log(request.query);
    response.send();
   });

控制台日志打印如下:

{ 'currentVisitTimestamp=1369293177&lastVisitTimestamp=1369293137': '' }

预期的输出是这样的

       'currentVisitTimestamp=1369293177&lastVisitTimestamp=1369293137'

为什么要构造成键值对?

【问题讨论】:

  • 我想这就是你需要的expressjs.com/api.html#req.originalUrl
  • 感谢您提供的信息 +1。
  • 修复:var url = request.originalUrl; var queryString = url.substring(url.indexOf('?')+1, url.length);

标签: javascript node.js express query-string


【解决方案1】:

here 中所述,

req.query

This property is an object containing the parsed query-string, defaulting to {}.

正如elclanrs 在评论中提到的,您可以使用req.originalUrl 来获得您想要的东西。

应该是这样的:

var queryString = req.originalUrl.replace('/server?', '');
//queryString === 'currentVisitTimestamp=1369293177&lastVisitTimestamp=1369293137' ==> true

【讨论】:

  • 谢谢。 var queryString = req.originalUrl.replace('/server/?', '');它修复了。
猜你喜欢
  • 2019-11-26
  • 1970-01-01
  • 1970-01-01
  • 2013-11-01
  • 2013-09-26
  • 2015-01-13
  • 2017-05-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多