我的Angular帖子请求的正文是空的

时间:2017-07-27 20:07:13

标签: javascript angularjs http express

因此我的Angular帖子请求的主体在我的服务器上是空的。来自我的客户端应用程序的帖子请求是:

var data = {
      Stime: '+this.Stime+',
      Etime: '+this.Etime+',
      eAMPM: '+this.eAMPM+',
      sAMPM: '+this.sAMPM+',
      id: '+this.id+',
      activity: '+this.activity+',
      auto_insert: '+this.auto_insert+',
      yearmonthday: '+this.yearmonthday+',
      color1: '+this.c+'
   }
   this.$http({
       method: 'POST',
       url: 'http://localhost:3000/operation',
       data: JSON.stringify(data)
   })

在我尝试使用此帖子请求之前,我只有一个非常长的查询字符串,这传递数据就好了。但我现在正在清理我的代码,这种方式不起作用。 在我的服务器上,我有:

app.post('/operation', function(req,res){
   console.log(req.body); //prints {}
   res.send("inserted");
});

同样在服务器端我有

var express = require('express'),
app = express(),
bodyParser = require('body-parser'),
cookieParser = require('cookie-parser'),
multer = require('multer'),
jsonParser = bodyParser.json()

app.use(jsonParser)
app.use(bodyParser.urlencoded({
  extended: true
}))
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));

1 个答案:

答案 0 :(得分:0)

app.post(...) {}内,您需要等待数据可用,如下所示:

    var body = '';
    req.on('data',function(data) { body += data; });
    req.on('end', function(data) {
        req.body = JSON.parse(body);
        conosle.log(request.body);
    });