2017-07-27 5 views
0

So ist der Körper meiner Angular Post Anfrage auf meinem Server leer. Die Post-Anforderung von meinem Client-Anwendung ist:Der Körper meiner eckigen Post Anfrage ist leer

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) 
    }) 

, bevor ich mit diesem Post-Anforderung versucht, ich hatte gerade eine sehr lange Abfrage-String und diese die Daten übergeben just fine. Aber ich bereite jetzt meinen Code auf und dieser Weg funktioniert nicht. Auf meinem Server Ich habe:

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

auch auf der Serverseite I

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

Sie haben versucht mit eckigen $ http? https://docs.angularjs.org/api/ng/service/$http. Setze das Datenobjekt so zusammen, wie du es machst und benutze '$ http.post ('http: // localhost: 3000/operation', data)'? –

Antwort

0

Innen app.post(...) {} Sie müssen warten müssen für Daten wie diese verfügbar werden:

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