无法从request.body中提取帖子数据

时间:2014-12-03 08:10:23

标签: angularjs node.js post express

这是我的角色帖子请求:

    var webCall = $http({
               method: 'POST',
               url: '/validation',
               async : true,
               headers: {
                 'Content-Type': 'text/html'
               },
               data: {email: "abc@gmail.com"}});
   webCall.then(successHandler, errorHandler);

现在在我的nodejs服务器中,以下代码提取帖子数据:

app.post('/validation',function(req,res){
        req.on('data',function(data){
            console.log(data.toString());
        });

但安慰请求机构为:

app.post('/validation',function(req,res){
    console.log(req.body);
}

控制台空对象。

1 个答案:

答案 0 :(得分:3)

可能的原因可能是您没有添加(或在问题中显示)body-parser中间件。

var bodyParser = require('body-parser');

// for parsing application/json
app.use(bodyParser.json());

// for parsing application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: true }));

// for parsing multipart/form-data
app.use(multer());

routes之前添加相关的中间件 ,以获取您希望收到的数据。在您的情况下,看起来您只需要第一个。另外,正如@ themyth92所指出的,传递正确的标题。

了解更多here