因此我的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}));
答案 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);
});