如何在node.js中记录请求对象的所有属性?

时间:2018-06-30 01:41:12

标签: javascript node.js

我刚开始学习node.js,并对任何请求到达服务器时req参数将具有什么样的数据感到好奇。我尝试了For循环,但似乎没有记录任何内容。

var http = require('http');

var server = http.createServer(function( req, res){
  for (var key in req) {
    if (req.hasOwnProperty(key)) {
        console.log(key + " -> " + req[key]);
    }
}

      res.end("Hi there \n");
});

server.listen(3000, function(){
    console.log('Server on 3000');
});

2 个答案:

答案 0 :(得分:2)

您可以将对象本身记录到控制台,节点将为您处理此事情。

var http = require('http');

var server = http.createServer(function(req, res){
  console.log(req)
  res.end("Hi there \n");
});

server.listen(3000, function(){
    console.log('Server on 3000');
});

获取您:

$ node script.js 
Server on 3000
IncomingMessage {
  _readableState: 
   ReadableState {
     objectMode: false,
     highWaterMark: 16384,
     buffer: BufferList { head: null, tail: null, length: 0 },
     length: 0,
     pipes: null,
     pipesCount: 0,
     flowing: null,
     ended: false,
     endEmitted: false,
     ...

答案 1 :(得分:1)

我认为这段代码可以为您提供帮助:

console.log(JSON.stringify(req, null, 4));