ExpressJS POST无法登录正文

时间:2015-01-12 02:43:08

标签: json node.js express

经过大量摆弄升级版本和不同的中间件/使用身体解析器的方式后,我仍然陷入困境。

我有一个Iphone应用程序,它发布2件事(2件事)。首先是一个有效的图像。 第二个是我试图放入mongodb的json对象。

无论我做什么,我似乎都无法记录请求的内容。

var express = require('express');
var logger = require('morgan');
var fs = require('fs');
var json = require('express-json');
var path = require('path');
var errorHandler = require('errorhandler');
MongoClient = require('mongodb').MongoClient,
Server = require('mongodb').Server,
CollectionDriver = require('./collectionDriver').CollectionDriver;
FileDriver = require('./fileDriver').FileDriver;

...

app.use(json());
//app.use(bodyParser.urlencoded({ extended: true }));
app.use(logger('dev'));
app.use(express.static(path.join(__dirname, 'public')));

...

app.post('/:collection', function(req, res) {
  console.warn(req.body.poi.toString());
  var object = req.body;
  var collection = req.params.collection;
  console.warn("Post: " + req.toString());
  collectionDriver.save(collection, object, function(err,docs) {
      if (err) { res.send(400, err); } 
      else { res.send(201, docs); }
  });
});

我已经尝试记录(日志,警告)req.body,req等无济于事。 我正在使用express-json和NOT url编码,不要认为需要它。

当我发布

时,摩根输出以下内容
POST /pois 200 15.983 ms - 63

,别无其他!

1 个答案:

答案 0 :(得分:1)

显然不能这样做,正如本期封闭的问题所述https://github.com/expressjs/morgan/issues/16 morgan不适用于此类工作。请尝试使用Winston,或者只使用console.log