微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Node.js请求对象文档?

这是一个非常直截了当的问题,但我在谷歌上找不到任何东西.我正在寻找有关Node.js的创建服务器函数中的请求参数的文档,但我找不到任何东西.

http.createServer(function(request,response){
  console.log(JSON.stringify(request));
});

使用JSON.stringify()进行调试会给出一个错误,即对象是循环的并且程序停止.我见过不同的东西,比如request.url或request.body,但有没有一个页面记录了所有的请求函数和参数?它似乎很容易找到,我似乎无法找到它.

我再次尝试了,结果只是在做console.log(请求)写出请求中的所有数据.这里仅作为参考:

ondata: [Function],_httpMessage:
      { domain: null,_events: [Object],_maxListeners: 10,output: [],outputEncodings: [],writable: true,_last: false,chunkedEncoding: false,shouldKeepAlive: true,useChunkedEncodingByDefault: true,sendDate: true,_hasBody: true,_trailer: '',finished: false,_hangupClose: false,socket: [Circular],connection: [Circular] } },connection:
   { _connecting: false,_handle:
      { fd: null,writeQueueSize: 0,owner: [Circular],onread: [Function: onread],reading: true },_readableState:
      { highWaterMark: 16384,buffer: [],length: 0,pipes: null,pipesCount: 0,flowing: false,ended: false,endEmitted: false,reading: true,calledRead: true,sync: false,needReadable: true,emittedReadable: false,readableListening: false,objectMode: false,defaultEncoding: 'utf8',ranOut: false,awaitDrain: 0,readingMore: false,decoder: null,encoding: null },readable: true,domain: null,_events:
      { end: [Object],finish: [Function: onSocketFinish],_socketEnd: [Function: onSocketEnd],drain: [Function: ondrain],timeout: [Function],error: [Function],close: [Object] },_writableState:
      { highWaterMark: 16384,needDrain: false,ending: false,decodeStrings: false,writing: false,sync: true,bufferProcessing: false,onwrite: [Function],writecb: null,writelen: 0,buffer: [] },allowHalfOpen: true,onend: [Function],destroyed: false,errorEmitted: false,bytesRead: 357,_bytesdispatched: 0,_pendingData: null,_pendingEncoding: '',server:
      { domain: null,_connections: 1,connections: [Getter/Setter],_handle: [Object],_usingSlaves: false,_slaves: [],httpAllowHalfOpen: false,timeout: 120000,_connectionKey: '4:0.0.0.0:1337' },_idleTimeout: 120000,_idleNext:
      { _idleNext: [Circular],_idlePrev: [Circular],msecs: 120000,ontimeout: [Function: listOnTimeout] },_idlePrev:
      { _idleNext: [Circular],_idleStart: 1371952289619,parser:
      { _headers: [],_url: '',onHeaders: [Function: parserOnHeaders],onHeadersComplete: [Function: parserOnHeadersComplete],onBody: [Function: parserOnBody],onMessageComplete: [Function: parserOnMessageComplete],incoming: [Circular],maxHeaderPairs: 2000,onIncoming: [Function] },ondata: [Function],httpVersion: '1.1',complete: false,headers:
   { host: 'localhost:1337',connection: 'keep-alive','cache-control': 'max-age=0',accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8','user-agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML,like
 Gecko) Chrome/27.0.1453.116 Safari/537.36','accept-encoding': 'gzip,deflate,sdch','accept-language': 'en-US,en;q=0.8,ja;q=0.6' },trailers: {},_pendings: [],_pendingIndex: 0,url: '/',method: 'GET',statusCode: null,client:
   { _connecting: false,_consuming: false,_dumped: false,httpVersionMajor: 1,httpVersionMinor: 1,upgrade: false }

解决方法

我不确定这是否是一个正确的回复,因为它对我来说似乎很简单,但你看看了吗?
http://nodejs.org/api/http.html#http_http_incomingmessage

请求是上述对象的实例.顺便说一下,如果你真的想用“暴力”来查看该对象内部的内容,你就不应该解析它,因为它根本不是JSON字符串,而是做类似的事情:

for (i in request) {
  //Your code here
}

希望能帮助到你.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐